Du hast ja auch noch Delphi2006, erst ab Delphi2009 ist String als WideString deklariert. Du musst also WideString nehmen.
Nein habe jetzt D2009 deshalb ja auch die ganze umstellung.
Ja tue ich ja.
Aber das problem bleibt bestehen Speicherleck nach dem beenden der Anwendung.
Aber erst dann nachdem eine Datei über diese Dialog Funktion eingeladen wurde.
Bei der verwendung des Flags {$IFDEV
UNICODE} sollte man meines erachtens dann auch eine Überladene function hinzufügen Oder ?
Delphi-Quellcode:
function OpenSaveFileDialog(ParentHandle: THandle; const DefExt, Filter, InitialDir, Title: string; var FileName: string; IsOpenDialog: Boolean): Boolean; overload;
function OpenSaveFileDialog(ParentHandle: THandle; const DefExt, Filter, InitialDir, Title: WideString; var FileName: WideString; IsOpenDialog: Boolean): Boolean; overload;
Jetzt mal ernsthaft soll man den ganzen Kram einfach ignorieren mit den Speicherlecks ?
Das ist ja ein Fass ohne Boden.
EDIT:
Auf jedenfall fehlen auch noch die Flags.
Delphi-Quellcode:
with ofn do
begin
lStructSize := SizeOf(TOpenFileName);
hwndOwner := ParentHandle;
lpstrFile := szFile;
nMaxFile := SizeOf(szFile);
if IsOpenDialog then
Flags := OFN_EXPLORER or OFN_ALLOWMULTISELECT or OFN_FILEMUSTEXIST or OFN_PATHMUSTEXIST
else
Flags := OFN_LONGNAMES or OFN_PATHMUSTEXIST or OFN_OVERWRITEPROMPT;
gruss