Хочу вызвать винапишный файлдиалог.
но при вызове ничего не происходит.то есть диалог просто не появляется.
код:
Код:
uses commdlg;
...
procedure TfrmAdd.TntButton2Click(Sender: TObject);
var OFNW : TOpenFilenameW;
Buf : PWideChar;
begin
GetMem(Buf, SizeOf(PWideChar));
buf:='';
with OFNW do
begin
lStructSize := SizeOf(DWORD);
hWndOwner := hinstance;
lpstrfilter := 'Executable files (*.exe)' + #0 + '*.exe' + #0;
lpstrCustomFilter := 'All files (*.*)' + #0 + '*.*' + #0#0;
nMaxCustFilter := 255;
nFilterIndex := 1;
lpstrFile := Buf;
nMaxFile := 128;
lpstrFileTitle := 'test';
nMaxFileTitle:=128;
lpstrInitialDir := 'c:\';
lpstrTitle := 'Open File';
Flags := OFN_FileMustExist + OFN_PathMustExist + OFN_FORCESHOWHIDDEN;
end;
GetOpenFileNameW(ofnw); //при выполнении в этой строчке ничего не происходит. диалог не появляется
end;
подскажите где я накосячил?