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?