Ich habe jetzt nicht versucht, die Logik zu durchschauen, aber mir sind 3 Dinge aufgefallen:
1. Wo ist denn opendialog definiert? Ist das eine globale Variable?
2. Du erzeugst opendialog und greifst später auf OpenDialog1 zu
3. Ein try-finally-Block wäre mehr als angebracht.
Delphi-Quellcode:
openDialog := TOpenDialog.Create(self);
try
//Arbeiten mit dem Dialog
finally
openDialog.Free;
end;
Und ob GetCurrentDir wirklich stimmt, musst Du selbst wissen. Evtl. meinst Du ja ExtractFilePath(ParamStr(0)).