Einzelnen Beitrag anzeigen

Benutzerbild von cookie22
cookie22

Registriert seit: 28. Jun 2006
Ort: Düsseldorf
936 Beiträge
 
Delphi XE2 Professional
 
#1

AV bei FreeLibrary

  Alt 30. Jul 2010, 05:56
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
Gruß
Cookie
  Mit Zitat antworten Zitat