Ich hätte jetzt zwar GetLastError vorgeschlagen, darüber bekommt man ja auch so'ne Info wie falsche Strukturgröße, aber wenn es da 'ne besserere Funktion gibt .... um so besser
(bei mir hatte GetLastError bei 'nem ähnlichen Fall auch ganz gut geholfen)
PS: solange man nicht versucht die UnicodeFunktion (GetOpenFileNameW, TOpenFileNameW) zu verwenden, sollte es eigentlich "immer" funktionieren.
PS2: muß lpstrFilter und lpstrFile nicht mit #0#0 abgeschlossen werden?