AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Kommunikation zwischen zwei Applikationen...
Thema durchsuchen
Ansicht
Themen-Optionen

Kommunikation zwischen zwei Applikationen...

Ein Thema von plumper · begonnen am 5. Mär 2005 · letzter Beitrag vom 13. Mär 2005
Antwort Antwort
Benutzerbild von plumper
plumper

Registriert seit: 15. Jul 2004
Ort: Ahrensburg
88 Beiträge
 
Delphi 7 Professional
 
#1

Kommunikation zwischen zwei Applikationen...

  Alt 5. Mär 2005, 22:12
... auf dem gleichen Rechner

Hi Allerseits,

ich habe hier im Forum schon einige Themen gefunden: Named Pipes, Shared Memory, MailSlots...
Und ich habe auch die komponente von Sakura angesehen. Nur irgendwie bin ich zu blöd, die Beispiele zum Laufen zu bringen. Hat irgend jemand eine Gute Quelle, wo ich lernen kann, was die verschiedenen Techniken sind, wie die Funktionieren? Wie ich sie in Delphi programmiere?

Danke im Voraus,
Jens

{KDT}
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Kommunikation zwischen zwei Applikationen...

  Alt 6. Mär 2005, 14:28
Sind die beiden Programme selber geschrieben? Bzw. hast du den Quellcode vorliegen und kannst ihn verändern? dann wäre meiner Meinung nacht die einfachste Möglichkeit mit der Nachricht MSDN-Library durchsuchenWM_COPYDATA. Damit kann man schon mal recht komplexe Datenstrukturen austauschen. Beispiel, wie immer auf meiner Homepage: http://www.luckie-online.de/Delphi/S..._COPYDATA.html

Zu beachten ist allerdings:
Zitat:
The data being passed must not contain pointers or other references to objects not accessible to the application receiving the data.
Womit AnsiStrings nicht übertragen werden können. Wie es mit PChars aussieht weiß ich nicht, das wäre noch zu prüfen.

Mal sehen, ob ich heute dazu komme, ich wollte schon die ganze Zeit mal das ganze mit MMFs machen. Eventuell habe ich heute Abend ein kleines Demo-Programm vorliegen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Kommunikation zwischen zwei Applikationen...

  Alt 6. Mär 2005, 14:54
Zitat von Luckie:
Womit AnsiStrings nicht übertragen werden können. Wie es mit PChars aussieht weiß ich nicht, das wäre noch zu prüfen.
Ist doch ganz einfach: Bei WM_COPYDATA wird einfach ein zusammenhängender Datenblock beliebiger Größe übertragen. Somit scheidet alles aus, was Zeiger auf Speicher außerhalb dieses Blocks enthält. Strings müssen hier inline als statische Arrays of Char oder ShortStrins abgelegt werden.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Benutzerbild von plumper
plumper

Registriert seit: 15. Jul 2004
Ort: Ahrensburg
88 Beiträge
 
Delphi 7 Professional
 
#4

Re: Kommunikation zwischen zwei Applikationen...

  Alt 6. Mär 2005, 15:13
Oh yeah! Werde ich mir mal zu Gemüte führen...
//Edit: und ja! Sind beides selbst geschriebene Programme..
Jens

{KDT}
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#5

Re: Kommunikation zwischen zwei Applikationen...

  Alt 6. Mär 2005, 15:53
Zitat von plumper:
Oh yeah! Werde ich mir mal zu Gemüte führen...
Vielleicht hilft dir dazu im Zusammenhang von WM_COPYDATA meine Komponente Switchmodules weiter.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Kommunikation zwischen zwei Applikationen...

  Alt 6. Mär 2005, 17:04
ich hab da schon paar mal was gepostet. Hier kannst du ein Beispielprogramm herunterladen (arbeitet mit memory mapped files)

http://www.delphipraxis.net/internal...=221044#221044
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Kommunikation zwischen zwei Applikationen...

  Alt 7. Mär 2005, 22:56
So, hier jetzt meine Version mit MMF:
http://www.luckie-online.de/Delphi/Sonstiges/MMF.html

Will man allerdings nur einen String übergeben und sollte dieser länger als 255 Zeichen sein, dann ist Sir Thornberrys Methode wohl die bessere.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von plumper
plumper

Registriert seit: 15. Jul 2004
Ort: Ahrensburg
88 Beiträge
 
Delphi 7 Professional
 
#8

Re: Kommunikation zwischen zwei Applikationen...

  Alt 7. Mär 2005, 23:27
Vielen Dank allerseits, es sind nicht allzuviele Daten, die Übertragen werden müssen. nur ein paar Steuerdaten undevtl. Fehlermeldungen/ Satusmeldungen.. Aber ich werde mir die Infos ansehen. Begeisterten Dank!!
Jens

{KDT}
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Kommunikation zwischen zwei Applikationen...

  Alt 13. Mär 2005, 21:18
Hab mir grad überlegt das es auch noch die Variante gäbe mit GlobalAlloc speicher zu reservieren (mit GMEM_MOVEABLE) und dann einfach per SendMessage die Speicheradresse an das andere Programm zu schicken.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:06 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz