Also vll hat der ein oder andere schon in diesem Thread herumgestöbert:
http://www.delphipraxis.net/internal...t.php?t=145044
In diesem ging es einfach ob es Möglich sei dies zu Übersetzen.
Da ich letzen Endes nicht wusste ob es nun möglich ist oder nicht, habe ich es einfach einmal gemacht.
Kurz zu dem Programm Garena.
Läd es eine
DLL so wird eine Funktion namens CreatePlugin aufgerufen und dann wird eine weitere Funktion namens GetName aufgerufen.
Ich habe mir ein lauffähiges Plugin (geschrieben in C++) mit Soucecode besorgt um es zu übersetzen.
Hoffe der ein oder andere hat einen Denkanstoß
Ich glaube, das ich etwas hier falsch übersetz habe:
C++ Code
Delphi-Quellcode:
// this is how garena gets a pointer to the plugin class
extern "C" __declspec(dllexport)
IGamePlugin* CreatePlugin()
{
static CExampleTcpPlugin _plugin;
return &_plugin;
}
Delphi Code
Delphi-Quellcode:
function CreatePlugin(): Pointer; stdcall;
var
_plugin: IGamePlugin;
begin
_plugin := IGamePlugin.Create;
Result := @_plugin;
end;
exports
CreatePlugin;
Du derefernzierst p2 einmal und weißt die Adresse von i zu. Das heißt p2 (also der Zeiger auf einen Zeiger) zeigt auf den Zeiger p1 welchen du so auf i zeigen lässt.