Entwickler-Ecke
Dateizugriff - Probleme mit TOpenDialog
Rekursion - Di 12.10.10 15:46
Titel: Probleme mit TOpenDialog
Hi ich habe folgenden Code:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| procedure TForm1.Button2Click(Sender: TObject); var opf1 : TOpenDialog; begin opf1 := opf1.Create(self); opf1.Title := 'Waehlen Sie die zu analysierende Chunk-Datei aus'; opf1.InitialDir := 'c:\'; opf1.Options := [ofFileMustExist]; opf1.Filter := 'Szenen-Dateien (*.scnd)|*.scnd|Alle Dateien (*.*)|*.*'; opf1.FilterIndex := 1; opf1.Execute; Datei := opf1.FileName; opf1.Free; end; |
Datei soll eine globale Variable (AnsiString) sein.
Da bekomme ich immer eine Zugriffsverletzung. Was mache ich falsch? Der OpenDialog erscheint nie, dafür fehlt nach der Fehlermeldung der Button auf meinem Formular, den löscht es zur
Laufzeit einfach raus!
Moderiert von
Narses: Code- durch Delphi-Tags ersetzt
Tropby - Di 12.10.10 15:50
Probier mal
Delphi-Quelltext
1:
| opf1 := TOpenDialog.Create(self); |
anstatt
Delphi-Quelltext
1:
| opf1 := opf1.Create(self); |
Dann sollte es gehen.
Dude566 - Di 12.10.10 15:51
Warum erzeugst du deinen OpenDialog denn überhaupt manuell, die weiteren Einstellungen kann man doch auch so angeben oder?
Gausi - Di 12.10.10 15:51
Das Erzeugen einer dynamischen Komponente zur Laufzeit geht so:
Delphi-Quelltext
1:
| opf1 := TOpenDialog.Create(nil); |
Als Owner sollte man iirc auch Nil angeben, wenn man die Komponente selbst wieder zerstört.
Rekursion - Di 12.10.10 15:53
Danke, jetzt funktioniert es tatsächlich.
elundril - Di 12.10.10 22:58
Ist keiner draufgekommen das es Probleme geben kann wenn man den Rückgabewert von Opendialog.Execute überprüfen sollte? Sonst könnte es ev. böse Probleme geben. also immer brav
Delphi-Quelltext
1: 2: 3: 4:
| if opf1.Execute then else |
lg elundril
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!