Entwickler-Ecke
Sonstiges (Delphi) - Fehler bei Laden eines Bildes in DLL ?
Urba - Do 18.12.03 16:39
Titel: Fehler bei Laden eines Bildes in DLL ?
Hallo Leute,
Ich habe eine DLL geschrieben, in der sich ein Formblatt namens "Load" befindet. Hinzu habe ich eine Funktion geschrieben, die extern aufrufbar ist und das Form laden soll :
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| procedure ShowLoadForm; stdcall; begin Load := TLoad.Create(nil); Load.BorderIcons := []; Load.BorderStyle := bsNone; Load.WindowState := wsMaximized; Load.IHinter.Picture.LoadFromFile('Menu.bmp');
try Load.ShowModal; finally Load.Release; end; end; |
Nun kommt es aber zu einem Fehler wenn ich diese Funktion aufrufe. Und zwar bezieht sich der Fehler auf das Image ("IHinter") in welches ein Bild geladen werden soll. Der Fehler lautet "Exception EFOpenError". Ich weiss dass diese Exception bei dem fehlerhaften Laden einer Datei auftritt, allerdings weiss ich ganz genau, dass die Datei existiert und auch ladbar ist. Daher verstehe ich das nicht. Muss man dabei irgendeinen Trick anwenden ?
Hoffe ihr könnt mir helfen !
Gruss
Urba
Moderiert von
Peter Lustig: Code- durch Delphi-Tags ersetzt
Anonymous - Do 18.12.03 17:01
Bist du dir sicher dass das Bild und Picture von dem Bild auch erzeugt wurden?
Ggf. solltest du folgendes Mal probieren:
Delphi-Quelltext
1:
| Load.IHinter.Picture := TPicture.Create; |
Und danach erst Picture.LoadFromFile aufrufen.
Urba - Do 18.12.03 17:05
Das Image besteht schon, ich habe es schon auf der Form. Auch mit dem vorgeschlagenen kommt der gleiche Fehler
Delete - Do 18.12.03 17:06
Titel: Re: Fehler bei Laden eines Bildes in DLL ?
Zusätzlich zu obbschtkuche würde ich noch vorschlagen, auch den Pfad zur Grafik anzugeben. Relative Ordner sind so eine Sache.
Zitat: |
Delphi-Quelltext 1:
| Load.IHinter.Picture.LoadFromFile('Menu.bmp'); | |
Es ist nicht gesagt, dass das aktuelle Verzeichnis mit dem Ordner identisch ist, in dem sich das Bild befindet.
Und bevor du fragst -
Wenn das Bild im selben Ordner wie die DLL liegt, dann schau dir
EXTRACTFILEPATH sowie
PARAMSTR an. Das ist übrigens auch sinnvoll, wenn sich das Bild in einem Unterordner, relativ zum Pfad der DLL, befindet.
btw: Das Blaue da sind Links, die kann man anklicken. Manche wissen das nicht. :roll:
Urba - Do 18.12.03 17:54
Entschuldigt wenn ich hier Verwirrung gestiftet habe. Ich weiss schon wie ich Parameter usw. auslese. Es sind normalerweise auch keine relativen Pfadangaben, sondern konkrete. Ich habe dies nur für das Beispiel so geschrieben.
Urba - Di 23.12.03 17:36
Danke klappt jetzt - das Problem war wegen einer meiner Klassen, dort wurden die Daten nicht richtig geladen.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!