Hallo Gemeinde,
ich hatte vor geraumer Zeit ein Problem mit folgendem Code (sinngemäß):
Delphi-Quellcode:
try
//Abfrage DB-> Pfad Bilddatei holen
if zquery1.RecordCount=1
then
Begin
qpfad:=qpfad+zquery1.fieldbyname('
file_name_org').AsString;
//Quellpfad wird gesetzt
if DownloadFile(qpfad, filepath+'
tmp.jpg')=true
then //die Datei wird temporär heruntergeladen
Begin
bild:=TJPEGImage.create;
//bild:TGraphic
bild.LoadFromFile(filepath+'
tmp.jpg');
NGrPFert2AuftrVw_det.Cell[6,0].ObjectReference:=bild;
NGrPFert2AuftrVw_det.Repaint;
end
else
NGrPFert2AuftrVw_det.Cell[6,0].Clear;
end;
except
end;
Es soll eine
DB nach einem Pfad zu einem jpg-file durchsucht werden und dieses (nachdem es zwischengespeichert wurde) in ein
Grid (NextGrid) geladen. Funktioniert soweit auch gut. Nun kann ich jedoch "bild" nicht wieder freigeben, da der Eintrag im Grid nur eine Referenz ist. Also dachte ich mir, dass ich einfach beim Wechsel in ein anderes Modul (also auch aus einer völlig anderen Prozedur heraus (sogar in einer anderen
Unit)) "bild" freigebe. Auch das funktionierte soweit. Dann bekam ich jedoch ständig Fehler "Zugriffsverletzung in Modul dcc70.dll" (muss nicht im Zusammenhang stehen), sodass ich die "Bild-Funktion" erstmal auskommentiert hatte. Nun möchte ich mich der Problematik wieder annehmen und würde gern mal eure Meinung zum beschiebenen Konzept wissen. Mir geht es dabei auch darum, eine Möglichkeit zu erarbeiten Stringslisten über die Grenzen einer Prozedure hinweg zu speichern (also ähnlich, wie die vorherige Problematik).
MFG
Steffen