Einzelnen Beitrag anzeigen

MaxDelphi

Registriert seit: 29. Jun 2009
17 Beiträge
 
#6

AW: Eindeutiger Callback bei mehreren Instanzen des selben Programms

  Alt 27. Okt 2011, 19:44
@himitsu
@Bummi

Es ist korrekt und war anfänglich auch mein Problem, das obwohl mehrere Anwendungen auf ein und die selbe DLL zugreifen damit noch kein Datenaustausch zwischen den Anwendungen möglich ist. Der Trick liegt darin, das die DLL auf gemeinsam genutzten Speicher auch unter shared memory oder memory mapped files bekannt zurückgreift. Den kann jede Instanz der DLL beschreiben und lesen. Meine DLL benutzt für unterschiedliche Zwecke mehrere MMFs. Eine dieser MMFs ist der Header in dem die wichtigsten Informationen über die Struktur der anderen MMFs und die bekannten Teilnehmer in Form einer Liste von Fenster-Handles hinterlegt sind. Mit Hilfe der Fenster-Handles und PostMessage können jetzt über jede Instanz der DLL die anderen Teilnehmer angefunkt werden wenn sich was getan hat.
Damit erstmal die Funktionsweise (und das ist komplett durchgetestet in Delphi und in C++). Für mich ist die DLL sehr wichtig, deshalb möchte ich bevor sie richtig zum Einsatz kommt noch möglichst vereinfachen, auch dahin gehend das andere Programmiersprachen damit zurechtkommen. Es wird immer Grenzen geben, aber ich sehe ein Problem im abfangen der Windows-Botschaften und herausfinden des eigenen Fenster-Handles. Deshalb möchte ich die DLL gerne auf Callbacks umstellen, dabei sollten die Addressen der Callback-Funktionen anstatt der Fenster-Handles im oben beschriebenen MMF abgelegt werden.
Und jetzt nochmal die Frage: Ist es möglich, das ein Programm ein anderes (oder eine zweite Instanz des selben) Programm über einen Callback erreicht? Wie müßten die Addressen dann aussehen?

Nochmals Danke im voraus.
MfG,
MaxDelphi
  Mit Zitat antworten Zitat