Bist du sicher dass Dateiname auch nicht leer ist? Ich schätze mal, dass du den OpenDialog mit Execute anzeigst:
Delphi-Quellcode:
if OpenDialog1.Execute then
//Befehle
Das Close-Ereignis wird aber vor dem Rücksprung aus der Prozedur aufgerufen, nur für den Fall dass du Dateiname darin setzt.
Greetz
alcaeus