Delphi-Quellcode:
function OpenSaveFileDialog(ParentHandle: THandle; fFlags: Integer; const DefExt, Filter, InitialDir,
Title: string; var FileName: string;
out ReadOnly: Boolean; IsOpenDialog: Boolean): Boolean; overload;
var
ofn: TOpenFileName;
// szFile: array[0..MAX_PATH] of Char;
szFileN: PAnsiChar;
// fi: string;
begin
// GetMem(szFileN,MAX_PATH);
Result := False;
FillChar(ofn, SizeOf(TOpenFileName), 0);
with ofn do
begin
lStructSize := SizeOf(TOpenFileName);
hwndOwner := ParentHandle;
lpstrFile := szFileN;
nMaxFile := SizeOf(szFileN);
if (Title <> '') then begin
lpstrTitle := PAnsiChar(AnsiString(Title));
end;
flags := fFlags;
if (InitialDir <> '') then
lpstrInitialDir := PAnsiChar(AnsiString(InitialDir));
// StrPCopy(lpstrFile, FileName);
// lpstrFile
// fi := PAnsiChar(FileName);
// lpstrFilter :='Alle|*.*'#0#0;
lpstrFilter := PAnsiChar(AnsiString(CharReplace(Filter, '|', #0) + #0#0));
if DefExt <> '' then
lpstrDefExt := PAnsiChar(DefExt);
lpfnHook := nil;
end;
if IsOpenDialog then
begin
if GetOpenFileName(ofn) then
begin
Result := True;
ReadOnly := ofn.Flags and OFN_READONLY = OFN_READONLY;
FileName := string(AnsiString(szFileN));
end;
end
else
begin
if GetSaveFileName(ofn) then
begin
Result := True;
FileName := string(AnsiString(szFileN));
end;
end
end;
Hiermit war ich beschäftigt.
Ich will keinen Gutenberg machen Orginalquelle: Aus der Tippsammlung SwissDelphi Center Mit D-2005/6 unter Vista lief es prima, für D-XE muss es angepasst werden, und da war ich dran, als Norton zuschlug.
Was soll ich machen?
Der Virenwächter "Sonar" von Norton meldet "Das Programm xy verhält sich verdächtig und wird geblockt." Genauere Erklärungen keine.
Willie.