Thomas Stutz
Global Moderator
Hero Member
    
Offline
Beiträge: 1784

|
 |
« am: 05.03.2002, 16:06:06 » |
|
Hi,
Hat jemand eine Idee, warum folgender Code unter NT4.0 nicht funktioniert ? Unter Win2000, Win9x funktioniert er. Es liegt glaub an der Grösse der TOpenFileName Struktur.
[font size=2 face="Courier New" color="#000000"]uses ShellAPI, ActiveX, CommDlg;
function ChooseFile(out FileName: string): Boolean; var OFN: TOpenFileName; Path, s: string; begin Result := False;
Path := 'Default.txt'#0; SetLength(Path, MAX_PATH + 5);
FillChar(OFN, SizeOf(OFN), 0); with OFN do begin lStructSize := SizeOf(TOpenFilename); [font color="#000080"]// lStructSize := OPENFILENAME_SIZE_VERSION_400; ?? [/font]hInstance := SysInit.HInstance; lpstrTitle := PChar('Mein Öffnen Dialog'); hWndOwner := Form1.Handle; lpstrFilter := PChar('Textdateien (*.txt)' + #00 + '*.txt' + #00 + 'Alle Dateien (*.*)' + #00 + '*.*' + #00#00); nFilterIndex := 1; lpstrFile := PChar(Path); nMaxFile := MAX_PATH + 5; Flags := OFN_FILEMUSTEXIST or OFN_PATHMUSTEXIST or OFN_HIDEREADONLY; end; if GetOpenFileNameA(OFN) then begin FileName := PChar(OFN.lpstrFile); Result := True; end else FileName := ''; end;
procedure TForm1.Button1Click(Sender: TObject); var AFilename: string; begin if ChooseFile(AFilename) then ShowMessage(AFilename); end; [/font]
|
|
|
|
|
Gespeichert
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|