hier nochmal die relevanten stellen aus dem hauptprogramm:
Delphi-Quellcode:
type PInt = ^integer;
TIntfunc=function(iParam:integer):integer;
TPFunc =function(pParam:PInt):boolean;
var
Form1: TForm1;
param:integer;
fetchfunc:TPfunc;
mainfunc:TIntFunc;
modhandle:THandle;
function TForm1.dosomething(iParam:integer):integer;
begin
application.MessageBox(PChar('
Die dll meldet: '+inttostr(iParam)),'
Erfolg');
result:=0;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
@fetchfunc:=getProcAddress(modhandle,'
FetchFunc');
//fetchfunc krallt sich die adresse der übergebenen funktion
@mainfunc:=getProcAddress(modhandle,'
Main');
//mainfunc ruft die übergebene funktion auf
fetchfunc(@self.dosomething);
// hier der fehler: E2036 Variable erforderlich
mainfunc(strtoint(edit1.Text));
//wie bereits gesagt: mainfunc ruft....
end;
die
dll kompiliert anstandslos, aber das haptprog nicht.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1