was genau willst du denn für einen zugriff nach aussen? echtzeit-kommunikation mit anderen prozessen? nur initialen datenaustausch? Schnittstelle in andere Netzwerke?
Was sich für alles eignet, ist auf jeden Fall ein
DLL-PlugIn-System:
Delphi-Quellcode:
type TDLLFunction = function(varID: Integer):Pointer;
procedure RegisterDLL(fetchfunc: TDLLFunction, name: string);
var mHandle,InitProcAddr: hwnd;
begin
mHandle := GetModuleHandle(name); //ich weiss grad nicht, wie genau die params aussehen müssen...
InitprocAddr := GetProcAddress('Init');
InitprocAddr(@fetchfunc);
end;
So kann eine
DLL bereits alle Variablen aus dem Hauptmodul beziehen, indem sie die übergebene TDLLFunction mit einer vorher (z.B. in einem
SDK) festgelegten ID aufruft und als Rückgabewert die Adresse dieser Variable bekommt.
In der
DLL kann der Programmierer dann mit der Variable machen, was er will - also alles, was ich oben sagte.
Dass man mit einer
DLL "am besten arbeiten" kann, will ich so nicht sagen - es kommt immer auf Einsatzgebiet an.
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