Einzelnen Beitrag anzeigen

Benutzerbild von bixi400
bixi400

Registriert seit: 19. Mai 2003
179 Beiträge
 
Turbo Delphi für Win32
 
#1

Fehler beim dyn. Laden einer DLL

  Alt 9. Mär 2006, 16:33
Ich habe mal Versucht eine einfache DLL zu laden aber es tritt folgender Fehler auf:
Zugriffsverletzung bei Adresse 00404254 in Modul 'LoadDLL.exe'. Lesen von Adresse 00C00B3C

EXE:
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

TMyFunction = function: String;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var MyDLL:HWND;
    MyFunction:TMyFunction;
    MyPointer: TFarProc;
    Text:String;
begin
  MyDLL := LoadLibrary('MyDLL.dll');
  MyPointer := GetProcAddress(MyDLL, 'GetText');
  if @MyPointer <> nil then
   begin
     @MyFunction:=MyPointer;
     Text:=MyFunction;
     ShowMessage(Text);
   end;
  FreeLibrary(MyDLL);
end;

end.
DLL:
Delphi-Quellcode:
library MyDLL;

uses
  SysUtils,
  Classes;

{$R *.res}

function GetText:String;
begin
  Result:='Dieser Text wird aus einer DLL geladen!!!';
end;

exports GetText;


begin
end.
kann mir jemand sagen wo der Fehler ist?
  Mit Zitat antworten Zitat