Hallo,
das mit dem Copy hat mir immer InvalidPointerOperation geworfen.
Ich hab es jetzt aber folgendermaßen gelöst:
Delphi-Quellcode:
type
PDllInformation = ^TDllInformation;
TDllInformation = record
Author: array[0..19] of Char;
Version: array[0..9] of Char;
Name: array[0..19] of Char;
end;
In der Struktur waren vorher Strings deklariert, welche ich zu array of Char geändert habe.
In der
DLL steht nun:
Delphi-Quellcode:
procedure GetDllInformation(pInfo: PDllInformation);
begin
pInfo^.Author := DLL_AUTHOR;
pInfo^.Version := DLL_VERSION;
pInfo^.Name := DLL_NAME;
end;
... und der Zugriff erfolgt so:
Delphi-Quellcode:
constructor TDll.Create(FileName: String);
var
Func: TFunctionGetDllInformation;
begin
Inherited Create;
fFileName := FileName;
fDllHandle := 0;
Load;
Func := LoadFunction(DLL_GETINFO);
Func(fInfo);
Unload;
end;
Vielen Dank für eure Hilfe.
Gruß
Profiler