Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Fehler beim laden des Models (Opendialog) (https://www.delphipraxis.net/58258-fehler-beim-laden-des-models-opendialog.html)

Lehmar 4. Dez 2005 11:18


Fehler beim laden des Models (Opendialog)
 
Moin,
ich hab 2 Formulare die ich auch mit Programmstart anzeigen lasse...
Beim ersten Formular Initialisiere ich Opengl auf dem zweiten
habe ich einen Opendialog und einen Button.
Wenn man auf den Button klickt öffnet sich der Opendialog und man sucht sich
z.B. Ball2.3ds aus so sieht der Code aus

Delphi-Quellcode:
procedure TForm2.Button1Click(Sender: TObject);
begin
if Opendialog1.Execute then
begin
Filename := Opendialog1.FileName;
Form1.Load;
end;
end;
Und die Load Procedure:

Delphi-Quellcode:
procedure TForm1.Load;
begin
model:=TAll3DSMesh.Create(nil);
model.LoadFromFile('Form2.Filename');
Form1.Modelladen := true;
end;
Die Variable Filename ist eine Globale Variable!

Nun starte ich und...
Tja Fehler:' Objekt konnte nicht geladen werden'! :wall:

Wenn ich nun aber Opendialog weglasse funktioniert es...
In etwa so...

Delphi-Quellcode:
procedure TForm2.Button1Click(Sender: TObject);
begin
Filename := 'Modelle\Ball2.3ds';
Form1.Load;
end;
Aber ich möchte ja aussuchen können welches Objekt ich lade!?
Kann mir jemand erklären wie ich das machen kann? (Ich hoffe ich hab es richtig Formuliert...:lol:)

Airblader 4. Dez 2005 11:20

Re: Fehler beim laden des Models (Opendialog)
 
Anstatt einer globalen Variable würde ich den Filename lieber als Parameter übergeben ;)

Dein Fehler jedoch ist hier:

Delphi-Quellcode:
model.LoadFromFile('Form2.Filename');
->
model.LoadFromFile(Form2.Filename);
In deiner Variante wäre Form2.Filename ein String, sprich das wäre der Dateiname, den er öffnen soll.
Du gibst aber eine Variable als Parameter weiter, die '' sind also unnötig.

Wie gesagt - ein Parameter in deiner Load-Procedure wäre aber eleganter :)

air

Lehmar 4. Dez 2005 11:24

Re: Fehler beim laden des Models (Opendialog)
 
Sehr gut danke!!!! :-D
Nur wegen so einem blöden Fehler...
Naja.
Danke! :-D

Lehmar 4. Dez 2005 12:08

Mehrer Modelle
 
Gut ich nehme dafür besser ein neues Thema! :wink:


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:20 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz