Hallo Detlef,
so ähnlich hab ich mir das schon vorgestellt. Die Probleme dabei sind: Teile des Codes sind schon 10+ Jahre alt und etwa 1/4 des Codes stammt von meinem ehemaligen Programmierer.
Gibt es denn irgendwo im WEB eine Zusammenstellung über die am häufigsten gemachten Fehler?
Im Großen und Ganzen gehe ich schon davon aus, dass ich einigermaßen "sauber" programmiert hab. Würde denn beispielsweise folgendes problemlos weiter funktionieren:
Delphi-Quellcode:
function RuGetWinDir :
string;
var
puffer :
array[0..MAX_PATH]
of char;
begin
GetWindowsDirectory(puffer,MAX_PATH);
Result :=
string(puffer);
end;
function RuBrowseForFolder(
Handle: THandle; Title:
string):
string;
var
WindowList : Pointer;
bi: TBrowseInfo;
pidl: PItemIDList;
strPath:
string;
i : integer;
begin
Result := '
';
FillChar(bi, SizeOf(bi), 0);
bi.hwndOwner :=
Handle;
bi.pidlRoot :=
nil;
bi.pszDisplayName :=
nil;
bi.lpszTitle := PChar(Title);
bi.ulFlags := BIF_RETURNONLYFSDIRS;
bi.lpfn :=
nil;
bi.lParam := 0;
WindowList := DisableTaskWindows(0);
try
pidl := ShBrowseForFolder (bi);
finally
EnableTaskWindows(WindowList);
end;
SetLength (strPath, MAX_PATH);
for i := 1
to MAX_PATH
do strPath[i] := '
';
ShGetPathFromIdList (pidl, PChar(strPath));
Result := Trim(strPath);
end;