Einzelnen Beitrag anzeigen

Benutzerbild von arbu man
arbu man

Registriert seit: 3. Nov 2004
Ort: Krefeld
1.108 Beiträge
 
Delphi 7 Professional
 
#1

DLL dynamisch einbinden, was mach ich falsch ?

  Alt 14. Feb 2005, 18:53
Hi,

Ich versuche grade eine dll dynamisch einzubinden

Hier der DLL Code
Delphi-Quellcode:
library dll;

uses
  SysUtils,Classes;

{$R *.res}

function functionpchar(pc:pchar):pchar;
begin
  result:=PChar('Result ist: '+PChar(pc));
end;

exports
  functionpchar;

begin
end.
Und das Programm
Delphi-Quellcode:
...
type
  Tfunctionpchar = function(pc: Pchar): PChar;

function functionpchar(pc: Pchar; dll:string): PChar;
function functionstr(str:string):string;
...
implementation
...
function functionpchar(pc: Pchar; dll:string): PChar;
var Funktion: Tfunctionpchar;
    Handle: THandle;
begin
  Handle:=LoadLibrary(PChar(dll));
  if Handle <> 0 then begin
    @Funktion := GetProcAddress(Handle,'functionpchar');
    if @Funktion <> nil then begin
      result := Funktion(pc);
    end;
    FreeLibrary(Handle);
  end;
  showmessage('bis hier geht es');
end;

function functionstr(str:string):string;
begin
  result:=functionpchar(PChar(str),ExtractFilePath(Application.ExeName)+'dll.dll');
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  showmessage(functionstr('test'));
end;
Der Code läuft auch nur kommt eine Zugriffs verletzung
Was mach ich falsch

Vielen Dank für eure Antworten
Björn
>> http://bsnx.net <<
Virtual DP Stammtisch v1.0"iw" am 19.09.2007 - ich war dabei!
  Mit Zitat antworten Zitat