Thema: Delphi MMF und FindWindow

Einzelnen Beitrag anzeigen

Arnulf

Registriert seit: 28. Okt 2004
Ort: Wien
271 Beiträge
 
#8

Re: MMF und FindWindow

  Alt 3. Mai 2005, 23:04
olala - das versteh sogar ich

So ergibt das natürlich mehr Sinn
und das oben hätte natürlich
procedure Empfang(var AMsg: TMessage); message wm_user + RegisterWindowMessage('guidstring'); auch wenn es völliger unsinn war.
Danke, bin schon am ausprobieren...

Oh bevor ich den Thread abschließe. Sollte jemand darauf stoßen und sich fragen was das mit mmf zu tun hat.
Kurz gesagt:
MMF ist ein im speicher liegendes file (eigentlich ein pointer zu ner 4k page wie es microsoft sagt).
Man kann das auch für IPC nutzen wenn man dem MMF $ffffffff (0xffffffff) als handle gibt.

MMFileHandle := CreateFileMapping($ffffffff, nil, PAGE_READWRITE, 0, 7, 'Name des files'); CreatefileMapping muß man einmal in einem prozess aufrufen um den Handle zu bekommen.
Danach kann man OpenFileMapping verwenden.

Aufpassen sollte man nur, wenn man das in einer .dll verwendet, weil eine .dll leicht von mehreren prozessen geladen wird, und jeder prozess der die library ladet dann praktisch CreateFileMapping aufrufen würde .

Jetzt ist das hald so zu behandeln wie ein File.
Also kann man entweder immer wieder nachschauen was da drin steht, oder man läßt dem prozess eine windows message zukommen die ihn dann informieren soll, daß etwas drin liegt (wenn man es für IPC verwendet).
Und hier kommt sendmessage ins Spiel - das soll praktisch den Read event auslösen am anderen ende des computers.
Wenn man das nicht event gesteuert macht, muß man wohl die daten immer wieder löschen ( überschreiben ) um nicht ständig das gleiche auszulesen.
Das funktioniert Natürlich in beide Richtungen - macht dann aber keinen sinn und ist nur kompliziert, dann muß man sich wohl mit Pipes auseinandersetzen.

So hab ichs verstanden - hoffe das stimmt und hilft anderen überhaupt zu begreifen worum es geht.
source code findet man genug hier im forum aber theorie hat mir dazu gefehlt.

Danke an alle helfenden Hände.

Arnulf
  Mit Zitat antworten Zitat