Entwickler-Ecke

Sonstiges (Delphi) - Ojekte zwischen Programmen tauschen


Hagbard Celine - Sa 21.09.02 11:08
Titel: Ojekte zwischen Programmen tauschen
Ist es möglich Objektreferenzen zwischen Programmen auszutauschen????

Ich code im Moment viel mit sockets!

Jetzt wäre es doch nett wenn ein Programm verschiedene Listen und sonstige Objekte erzeugt die einfach an ein anderes Programm zu schicken, ohne diese erst in Strings(etc) umwandeln zu müssen und auf der anderen Seite wieder Objekte zu erzeugen!!

Auf dem selben Rechner sollten doch die Objetreferenzen reichen oder????? Sind Objektinstanzen nur für das ausführende Programm sichtbar????

Gibt es da nicht ne funktion ala 'findObjekt ByName' ?????
Wäre doch nett!!!

A : GEHT DAS ÜBERHAUPT??
B : GEHT DAS AUCH ÜBER SOCKETS ODER EINE ANDERE NETZWERKFÄHIGE SCHNITTSTELLE?? ALSO ZWISCHEN VERSCHIEDENEN COMPUTERN!!

Danke schon mal im Vorraus!!!


Motzi - Sa 21.09.02 17:39

Jeder Prozess hat seinen eigenen Prozessraum und daher sind Zeiger und daher auch Objektreferenzen nur im eigenen Prozess gültig. Ein Übergeben von Objektreferenzen wird daher höchstens einen AccessViolent zur Folge haben.

Ich könnte mir aber schon vorstellen, dass es möglich wäre über Interprozess-Kommunikation ein Objekt zwischen zwei Prozessen auszutauschen.


Hagbard Celine - Sa 21.09.02 17:52

Motzi hat folgendes geschrieben:
Jeder Prozess hat seinen eigenen Prozessraum und daher sind Zeiger und daher auch Objektreferenzen nur im eigenen Prozess gültig. Ein Übergeben von Objektreferenzen wird daher höchstens einen AccessViolent zur Folge haben.

Ich könnte mir aber schon vorstellen, dass es möglich wäre über Interprozess-Kommunikation ein Objekt zwischen zwei Prozessen auszutauschen.


Was genau ist Interprozess-Kommunikation??

- Ich vermute zwei Prozesse können miteinander Informationen austauschen!
- Meinst Du damit die Kommunikation über Socket-Komponenten oder gibt es eine weitere Möglichkeit??


Wie funktioniert diese???


Motzi - Sa 21.09.02 18:05

Hagbard Celine hat folgendes geschrieben:

Was genau ist Interprozess-Kommunikation??

- Ich vermute zwei Prozesse können miteinander Informationen austauschen!
Korrekt!
- Meinst Du damit die Kommunikation über Socket-Komponenten oder gibt es eine weitere Möglichkeit??

Wie funktioniert diese???


Da gibt es einige Möglichkeiten:

WM_COPYDATA
Pipes
DDE (veraltet)
COM
Mailslots
Windows Sockets
Memory Mapped Files

Jetzt zu erklären wie diese funktionieren wäre doch ein bisschen viel. Aber zu WM_COPYDATA findest du auf http://www.swissdelphicenter.ch einiges.

COM ist wäre die leistungsfähigste Methode, aber auch die aufwändigste.

Das wars mal fürs erste.. ich muss weg!