![]() |
AW: JPG im Blob Feld wird extrem groß
Das, was zur Laufzeit in der Filename-Eigenschaft dieses Dialogs steht.
|
AW: JPG im Blob Feld wird extrem groß
Calikey, bevor hier einer der Beteiligten einen Herzinfarkt bekommt, oder entnervt aufgibt: Bitte lies Dir das durch:
![]() Ehrlich! Sherlock |
AW: JPG im Blob Feld wird extrem groß
Bin froh das man soviel gedult hat. Ich muss mich erst mal um meine kleine kümmern und lese mir heute abend denn link durch. Ich schreib dann heute abend weiter. Bedanke mich erst mal ganz herzlich bei allen die bis jetzt geholfen haben.
|
AW: JPG im Blob Feld wird extrem groß
So beim compelieren ist mir eine warnung auf gefallen
[dcc32 Warnung] doku.pas(171): W1036 Variable 'BlobStream' ist möglicherweise nicht initialisiert worden |
AW: JPG im Blob Feld wird extrem groß
nicht initialisiert = nichts zugewiesen
Delphi-Quellcode:
var
i: Integer; begin if i = 0 then ; // nicht initialisiert var i: Integer; begin i := 0; if i = 0 then ; // initialisiert |
AW: JPG im Blob Feld wird extrem groß
Heißt in Deinem Fall: Du greifst anscheinend auf die Variable zu, bevor CreateBlobStream aufgerufen wurde bzw. in bestimmten Fällen kann es sein, dass diese Methode gar nicht aufgerufen wird, Du greifst aber trotzdem auf die Variable zu. Wieso, weshalb, warum, das kannst nur Du wissen, wir kennen den Code ja nicht.
|
AW: JPG im Blob Feld wird extrem groß
So quellcode
bei BlobStream.Free; meldet er denn hinweis
Delphi-Quellcode:
type
TForm2 = class(TForm) Button1: TButton; Button2: TButton; odBlob: TOpenDialog; sdBlob: TSaveDialog; Button3: TButton; frxReport1: TfrxReport; Photo: TImage; procedure btnLoadClick(Sender: TObject); procedure Button13Click(Sender: TObject); procedure Button12Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure tPhotoAlbumAfterScroll(ClientDataSet1: TClientDataSet); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form2: TForm2; implementation {$R *.dfm} uses Unit1, ABOUT; procedure TForm2.btnLoadClick(Sender: TObject); var FileStream: TFileStream; BlobStream: TStream; begin if sdBlob.Execute then BlobStream := nil; FileStream := TFileStream.Create(sdBlob.FileName,fmCreate); begin Form1.clientdataset1.Edit; try BlobStream := Form1.clientdataset1.CreateBlobStream(Form1.clientdataset1.FieldByName('Arbeitsvertragimg')AS TBlobField, bmWrite ); FileStream.CopyFrom(BlobStream,BlobStream.Size-BlobStream.Position); Form1.clientdataset1.Post; finally BlobStream.Free; // hier ist der hinweis FileStream.Free; Form1.clientdataset1.Post; tPhotoAlbumAfterScroll (Form1.clientdataset1) end; end; end; procedure TForm2.Button12Click(Sender: TObject); begin frxreport1.showreport; end; procedure TForm2.Button13Click(Sender: TObject); var FileStream: TFileStream; BlobStream: TStream; begin if (sdBlob.Execute) then begin FileStream := TFileStream.Create(sdBlob.FileName,fmCreate); BlobStream := Form1.clientdataset1.CreateBlobStream(Form1.clientdataset1.FieldByName('Arbeitsvertragimg'),bmRead); FileStream.CopyFrom(BlobStream,BlobStream.Size-BlobStream.Position); BlobStream.Free; FileStream.Free; end; end; procedure TForm2.FormCreate(Sender: TObject); begin Form1.clientdataset1.Open; end; procedure TForm2.tPhotoAlbumAfterScroll(ClientDataSet1: TClientDataSet); var JpegImage: TJPEGImage; BlobStream: TStream; begin if (not Form1.clientdataset1.FieldByName('Arbeitsvertragimg').IsNull) then begin BlobStream := Form1.clientdataset1.CreateBlobStream(Form1.clientdataset1.FieldByName('Arbeitsvertragimg'),bmRead); JpegImage := TJPEGImage.Create; try JpegImage.LoadFromStream(BlobStream); Photo.Picture.Assign(JpegImage); Photo.Visible := True; finally JpegImage.Free; BlobStream.Free; end; end else Photo.Visible := False; end; END. |
AW: JPG im Blob Feld wird extrem groß
Zitat:
[edit] Kleiner Tipp: drück doch mal STRG+D, damit der Code-Formatter die Einrückungen korrigiert, dann fällt so etwas schon rein optisch auf. [/edit] |
AW: JPG im Blob Feld wird extrem groß
Delphi-Quellcode:
Es fehlen einige begin und end
procedure TForm2.btnLoadClick(Sender: TObject); var FileStream: TFileStream; BlobStream: TStream; begin if sdBlob.Execute then begin // <- BlobStream := nil; FileStream := TFileStream.Create(sdBlob.FileName,fmCreate); begin Form1.clientdataset1.Edit; try BlobStream := Form1.clientdataset1.CreateBlobStream(Form1.clientdataset1.FieldByName('Arbeitsvertragimg')AS TBlobField, bmWrite ); FileStream.CopyFrom(BlobStream,BlobStream.Size-BlobStream.Position); Form1.clientdataset1.Post; finally BlobStream.Free; // hier ist der hinweis FileStream.Free; end; // <- Form1.clientdataset1.Post; tPhotoAlbumAfterScroll (Form1.clientdataset1) end; end; // <- end; end; |
AW: JPG im Blob Feld wird extrem groß
Ätsch, schneller :tongue:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:55 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz