Also so geht es leider nicht:
Nach Implementation habe ich:
Function GetProfilesDirectory; external 'userenv.dll' name 'GetProfilesDirectoryA';
Der Compiler meckert: Die Funktion benötigt Ereignistyp...
Das funktioniert also nicht.
Aber
function GetProfilesDirectory(lpProfilesDir:PChar; var lpcchSize:DWORD):Wordbool;external 'userenv.dll' name 'GetProfilesDirectoryA';
eingebunden.
Nun Deine Funktion eingefügt:
Delphi-Quellcode:
function LeseBenutzerProfilVerzeichnis:string;
var
len : DWORD;
begin
len := 264;
SetLength(result, len);
if not GetProfilesDirectory(PChar(benutzerprofilverz), len) then
RaiseLastWin32Error;
SetLength(Result, len);
end;
Benutzerprofilverz ist nicht definiert, also schnell benutzerprofilverz als STRING und als PCHAR
unter Var eingefügt. Compililierung ok. Aber die Ausführung wird mit Exceptions beendet.
Ich habe dann stdcall vor external eingefügt. Aber auch das funzt nicht.
Kannst Du mir bitte weiterhelfen? So können wohl nur die Profis damit etwas anfangen.