Autor Beitrag
Urba
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 47



BeitragVerfasst: Do 18.12.03 16:39 
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 :

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
procedure ShowLoadForm; stdcall;
begin
  //Form anzeigen
  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 user profile iconPeter Lustig: Code- durch Delphi-Tags ersetzt

_________________
Es gibt keine blöden Fragen, nur blöde Antworten :)
obbschtkuche
Gast
Erhaltene Danke: 1



BeitragVerfasst: 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:

ausblenden Delphi-Quelltext
1:
Load.IHinter.Picture := TPicture.Create;					


Und danach erst Picture.LoadFromFile aufrufen.
Urba Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 47



BeitragVerfasst: 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

_________________
Es gibt keine blöden Fragen, nur blöde Antworten :)
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 18.12.03 17:06 
Zusätzlich zu obbschtkuche würde ich noch vorschlagen, auch den Pfad zur Grafik anzugeben. Relative Ordner sind so eine Sache.
Zitat:
ausblenden 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 Suche in: Delphi-Forum, Delphi-Library EXTRACTFILEPATH sowie Suche in: Delphi-Forum, Delphi-Library 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 47



BeitragVerfasst: 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.

_________________
Es gibt keine blöden Fragen, nur blöde Antworten :)
Urba Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 47



BeitragVerfasst: Di 23.12.03 17:36 
Danke klappt jetzt - das Problem war wegen einer meiner Klassen, dort wurden die Daten nicht richtig geladen.

_________________
Es gibt keine blöden Fragen, nur blöde Antworten :)