Autor Beitrag
wdbee
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 628
Erhaltene Danke: 1



BeitragVerfasst: Mi 30.03.05 20:25 
Hier ist eine erste Version meiner Unit zur Interprozesskommunikation mit Objekten.
Die Unit ist mit Delphi 5 entwickelt und ich möchte euch bitten das mal zu testen. Dazu ist ein Minimaldemo dabei. Besonders interessiert es mich, ob das unverändert auch mit späteren Delphiversionen funktioniert.

Das Ganze beruht auf MemoryMappedFiles. Der Clou dabei ist, dass eine Basisklasse bereitgestellt wird, deren Nachfahren ihre Daten statt im RAM in einem MemoryMappedFile ablegen. Möglich sind dabei alle Arten von Feldern in den Objekten, die ihre Daten im Objekt ablegen. Strings und Dynamische Arrays sind nicht zugelassen. Aber für viele Anwendungen reichen ShortStrings ohnehin.
Virtuelle und dynamische Methoden sind in diesem einfachsten Fall nicht möglich.

Das Minimaldemo erstellt ein Fomular mit einem Edit-Feld, einem Get- und einem Set-Button.
Set speichert den aktuellen Inhalt des Edit-Feldes in das IPC-Objekt, Get liest den aus und zeigt ihn im Edit-Feld an. Werden mehrere Instanzen des Programms gestartet, dann greifen sie alle auf das gleiche IPC-Objekt zu - eben ein minimales Beispiel für IPC.

Eine zweite Basisklasse bietet darüber hinaus die Möglichkeit, virtuelle Methoden zu verwenden.
Um auf diese IPC_VM-Objekte zugreifen zu können, müssen Zugriffe mit Lock und Unlock gekapselt werden. Dabei wird die VMT lokalisiert, so dass virtuelle Methoden zugreifen können!
Einloggen, um Attachments anzusehen!
wdbee Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 628
Erhaltene Danke: 1



BeitragVerfasst: Do 31.03.05 11:29 
Titel: Erweitertertes Demo
Hallo Leute,

hier ist ein umfangreicheres Beispiel, mit dem eine sinnvolle Anwendung für IPC-Objekte gezeigt wird.

Es sind zwei Exe-Dateien, ein Arbeitsprozess und ein Watchdog. Solange der Arbeitsprozess Alive-Signale (1 Hz) sendet, ist der Watchdog zufrieden. Hält man den Arbeitsprozess an, meldet der Watchdog einen Alarm.

Im Zip sind alle Quellcodes und Projekt-Dateien enthalten. Wer Probleme oder Feedback hat, soll sich bitte melden!
Einloggen, um Attachments anzusehen!