SizeOf(TOpenFileName)
ist schon richtig.
Und nein, es gibt kein Flag. (man kann höchsten hoffen, daß der Compilerschalter "
UNICODE" gesetzt wurde)
Aber
Zitat:
nMaxFile := SizeOf(szFile);
Laut
MSDN gehört da die Anzahl der Zeichen und nicht die Größe in Byte hin.
Wobei: was ist szFile?
Wenn das ein PChar ist, dann stimmt SizeOf sowieso nicht, denn das ist die Größe des Zeigers und nicht des Inhalts.
Ab Delphi 2009 ist String, Char, PChar und die dynamische
WinAPI immer auf
Unicode eingestellt. (es sei denn jemand hat Mist gebaut oder von der
API existiert nur eine der beiden
Ansi/
Unicode-Versionen)
Tipp: Falls man nicht unbedingt viel Ahnung von der
WinAPI hat, dann könnte man
natürlich notfalls auch die entsprechenden
VCL-Kapselungen verwenden, wie z.B.
TFileOpenDialog (nicht zu verwechseln mit
TOpenDialog).
[edit]
Wann wurde eigentlich der neue Vista-Dilaog TFileOpenDialog in Delphi eingeführt?