Mir würde eigentlich erstmal die Fehlermeldung reichen, die Du bekommst, wenn Du das Programm einfach mal so startest, egal, ob die nun detailreich ist oder nicht. Nur das, was auch der Anwender zu sehen bekommen würde, wenn er das Programm startet und dann der Fehler auftritt.
Erste Gelegenheit für
Exception bei $75C0A9F2.
Exception-Klasse EInvalidGraphic mit Meldung 'Unbekannte Bilddateierweiterung (.)'. Prozess imgdrag.exe (924)
Dies, nachdem ich den Quelltextabschnitt meines ersten Post wie folgt geändert habe:
Delphi-Quellcode:
[B]
if not Assigned(Image)
then Image := TImage.Create(self);
[/B]
//So bleibt die vorherige EAccessViolation fern.
//Hatte vorausgesetzt, dass eine Komponente, die auf das Formular
//geklickt wurde, auch automatisch erzeugt wird
//Die Fehlermeldung sagt da nur "Lesen von Adresse .... "
FFileName :=
String(Dateiname);
Image.Picture.LoadFromFile(FFileName);
//In der darunter stehenden Zeile kommt nun die oben genannte Exception
FFileList.AddObject(StrPas(Dateiname),Image);
//---------------------------------------------------------------------
Memo.Lines.Add(FFileList.Strings[FFileList.Count-1]);
PictureList.Items.Item[PictureList.Items.Count-1].assign(Image);
//PictureList.Items.Item[PictureList.Items.Count-1].Data := Item.Data;
sonstiger Quellcode, siehe oben, erster Post!
Ich dachte, die Image-Komponente unterstütze ALLE Bildformate. Die
Exception kommt auch bei .bmp Dateien. Habe zum Test eine .bmp Datei verwendet, von der ein in .jpg umgewandeltes Pendant existiert. Habe alles auf die Verwendung ausschließlich der Image Komponente zurück geändert.
Die
Unit jpeg ist eingebunden.