hallo,
ich habe folgendes problem. ich rufe aus delphi 2005 eine in delphi 5 geschriebene
dll auf. leider bekomme ich bei freelibrary eine
access violation und weiss nicht warum.
der code sieht so aus:
Delphi-Quellcode:
type
TGetRegString =
function(n: PChar): PChar;
stdcall;
function GetRegString(n: PChar): PChar;
function GetRegString(n: PChar): PChar;
var
GetRegString: TGetRegString;
Handle: THandle;
begin
Handle := LoadLibrary(PChar(ExtractFilePath(ParamStr(0)) + '
reg.dll'));
if Handle <> 0
then
begin
@GetRegString := GetProcAddress(
Handle, '
GetRegString');
if @GetRegString <>
nil then
begin
Result := GetRegString(n);
end;
FreeLibrary(
Handle);
end;
end;
den code der
dll hab ich soweit wie möglich reduziert um fehler auszuschliessen.
Delphi-Quellcode:
library reg;
uses
SysUtils,
Classes{,
SlokUtil};
{$R *.RES}
function GetRegString(n: PChar): PChar; stdcall;
var
s: string;
begin
//s := GetChallenge('$44§ds#hu&c1b76klhh' + StrPas(n), 0);
//s := GetUnlockString(s, '$44§ds#hu&c1b76klhh', 0);
Result := PChar(s);
end;
exports
GetRegString;
begin
end.
sieht da jemand einen fehler, ich find da nichts. eigentlich sollte das so funktionieren oder bin ich blind.
mfg
cookie