Einzelnen Beitrag anzeigen

Michael II
Online

Registriert seit: 1. Dez 2012
Ort: CH BE Eriswil
738 Beiträge
 
Delphi 11 Alexandria
 
#25

AW: Kommunikation zwischen zwei Delphiprogrammen

  Alt 12. Jan 2023, 14:02
Hoi rwb,
falls du noch nie eine eigene Komponente erstellt hast, dann tu's mal - es macht Spass.
Zur Pipe: Wähle in deinem Delphi das Menu Komponente > Komponente installieren und füge RFNamedPipes.pas hinzu.
In RFNamedPipes.pas gibt's eine Procedure Register RegisterComponents('Win32', [TPipeServer, TPipeClient]);
Nach der Installation der Komponente findest du deshalb in der IDE in der Palette unter Win32 neu TPipeServer und TPipeClient.

Du hast zwei Apps 1 und 2, welche via Pipe kommunizieren sollen?
Knall auf 1 TPipeServer und auf 2 TPipeClient.
Setze die Eigenschaft PipeName in 1 und 2 auf den gleichen Wert.
Setze die Eigenschaft Active von TPipeServer auf true. TPipeServer wartet nun auf Verbindungsanfragen. TPipeClient kann mittels Connect verbinden.
Mit Write übermittelst du Daten. Auf der Gegenseite greifst du die empfangenen Daten im OnMessage ab.
Verbindung abbrechen:
Client seitig: Disconnet.
Server seitig: Active := false setzen (es gibt auch eine protected Methode, welche dich vielleicht interessiert, wenn du mehrere Clients hast und zu einem bestimmten Client die Verbindung kappen willst - schau in den Code)

Ich hoffe das hilft.
Michael Gasser

Geändert von Michael II (12. Jan 2023 um 14:11 Uhr)
  Mit Zitat antworten Zitat