AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Kommunikation zwischen mehreren eigenen Tools ... Womit?
Thema durchsuchen
Ansicht
Themen-Optionen

Kommunikation zwischen mehreren eigenen Tools ... Womit?

Ein Thema von torud · begonnen am 5. Sep 2007 · letzter Beitrag vom 5. Sep 2007
Antwort Antwort
Seite 2 von 4     12 34      
torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#11

Re: Kommunikation zwischen mehreren eigenen Tools ... Womit?

  Alt 5. Sep 2007, 12:26
Ich wollte das ja auch über die Socket-Komponenten lösen, bin aber jetzt dabei mir allen möglichen Code aus dem Forum zusammen zu suchen, mit dem ich das Senden der Nachrichten, welche zu 99% aus Strings bestehen, zu realisieren.

Scheint aber doch nicht sooo einfach wie gedacht, da ich ja erstmal das Handle des Programmes herausfinden muss, welches ich ansprechen will. Dazu habe ich nun Code gefunden. Dann sende ich mit folgendem Code:

Delphi-Quellcode:
//Senden aus Tool A
  TheWindowHandle:=GetWindowHandleByExeName('Programmname.exe');
  if TheWindowHandle = 0 then
    //wenn das programm noch nicht läuft, starte es
    ShellExecute(Application.Handle, 'open' ,PChar((sender as TMenuItem).Hint), nil, nil, sw_ShowNormal);

  wparam:=globaladdAtom(pchar(str_param));
  lparam:=length(str_param);
  SendMessage(TheWindowHandle,WM_User+10,wparam,lparam);
  GlobalDeleteAtom(wparam);


//Empfangen in Tool B
procedure TForm1.Receive(var msg:TMessage);
var s:string;
    l:cardinal;
begin
  ShowMessage('kommt was!');
  SetLength(s,msg.lparam);
  l:=GlobalGetAtomName(msg.wparam,@s[1],msg.lparam+1);
  setlength(s,msg.lparam);
  ShowMessage(s);
end;
Leider kommt nichts an...Naja, vielleicht finde ich noch was passendes...
Danke
Tom
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#12

Re: Kommunikation zwischen mehreren eigenen Tools ... Womit?

  Alt 5. Sep 2007, 12:31
Warum arbeitest Du Dich nicht in die Themen
NamedPipes
MailSlot
ein?

Da brauchst Du dann kein Handle der Applikationen und musst die Tools nicht ständig neu starten.
Du legst eine NamedPipe oder MailSlot an, machst das im anderen Programm bekannt, steckst Daten rein und die kommen automatisch auf der anderen Seite an.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#13

Re: Kommunikation zwischen mehreren eigenen Tools ... Womit?

  Alt 5. Sep 2007, 12:32
Weil ich dazu kein Tut oder brauchbares Beispiel gefunden habe.
Danke
Tom
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#14

Re: Kommunikation zwischen mehreren eigenen Tools ... Womit?

  Alt 5. Sep 2007, 12:39
http://users.adelphia.net/~rllibby/downloads/pipes.zip
http://assarbad.net/stuff/tutorials/...k_tutorial.pdf
http://www.delphipraxis.net/internal...t.php?p=229531
http://www.delphipraxis.net/internal...ct.php?t=50870
Markus Kinzler
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#15

Re: Kommunikation zwischen mehreren eigenen Tools ... Womit?

  Alt 5. Sep 2007, 12:52
Also ich mach meine Kommunikation immer über TCP/IP und gehe einfach davon aus das dies läuft. Hatte bisher auch keine Probs damit.
Da legst du einfach für jedes Prog einen Port fest auf welchem es "wartet", connectest dann und kannst dann ganz einfach Strings senden und empfanegn wie du lustig bist.
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#16

Re: Kommunikation zwischen mehreren eigenen Tools ... Womit?

  Alt 5. Sep 2007, 13:58
Danke für die Links.

Ich habe mir mal die Pipes.zip gezogen und die Komponente installiert. Allerdings gibt es absolut keine Doku dazu. Ich habe zwar gefunden, dass man wahrscheinlich Daten mit Write() senden kann, aber die ganzen Parameter, die man da angeben muss, sind für mich schon wieder eine Hürde mehr. Ich mal versuchen überhaupt erstmal eine Verbindung herzustellen...

Vielleicht finde ich ja was...raus.
Danke
Tom
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#17

Re: Kommunikation zwischen mehreren eigenen Tools ... Womit?

  Alt 5. Sep 2007, 14:24
Im gleichen Thread, wo Du die Komponente gefunden hast, ist auch ein Beispielprojekt dabei.

Aber Du kannst NamedPipes auch ohne Komponenten ansprechen.
Dann musst Du halt alles von hand machen, ist aber nicht aufwändig.

Bei Delphi sind bestimmt auch Demo-Projekte zu Pipes dabei.
Ansonsten werden die in jedem besseren Delphi-Buch erwähnt.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#18

Re: Kommunikation zwischen mehreren eigenen Tools ... Womit?

  Alt 5. Sep 2007, 14:32
Zitat von RavenIV:
Im gleichen Thread, wo Du die Komponente gefunden hast, ist auch ein Beispielprojekt dabei.
Nein das stimmt so nicht, denn der Link mit dem Download war ein direkter Link auf eine Zip-Datei und die anderen Links waren zu Threads mit diesem Thema aber ohne glückliches Ende, bzw. ein Link zu einer pdf-Datei zum Thema Hooks. Ich habe auch da mal reingeschnuppert, aber das ist mir alles zu hoch. Ich brauche es einfach!

Zitat von RavenIV:
Aber Du kannst NamedPipes auch ohne Komponenten ansprechen.
Dann musst Du halt alles von hand machen, ist aber nicht aufwändig.
Das kann ich eben nicht, da es mir da an Kenntnissen mangelt. Ich habe bisher auch KEIN funktionierendes Beispiel gefunden.

Zitat von RavenIV:
Bei Delphi sind bestimmt auch Demo-Projekte zu Pipes dabei.
Ansonsten werden die in jedem besseren Delphi-Buch erwähnt.
Auch das ist leider nicht der Fall. Zumimdest ist in meinem Demo-Ordner nichts dazu zu finden.

Ich würde ja gerne die NamedPipes nehmen, aber es funktioniert einfach nicht! Weder mit den Codes, die ich hier im Forum fand, noch mit der Komponente. Bei letzerer weiss ich allerdings nicht, wie man sie einsetzt. Wäre es so einfach wie es aussieht, wäre das schon toll. Ich will doch nur Strings zwischen den Programmen austauschen. Warum ist das soo kompliziert?
Danke
Tom
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#19

Re: Kommunikation zwischen mehreren eigenen Tools ... Womit?

  Alt 5. Sep 2007, 14:41
Schau Dir mal die drei angehängten Files an.
Die sollten so eigentlich zusammenpassen.

Hab ich auch hier in DP gefunden, sind also nicht von mir.
Angehängte Dateien
Dateityp: zip pipescomp_138.zip (16,2 KB, 30x aufgerufen)
Dateityp: zip pipemessages_425.zip (25,9 KB, 32x aufgerufen)
Dateityp: zip pipecomptest_543.zip (5,3 KB, 27x aufgerufen)
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#20

Re: Kommunikation zwischen mehreren eigenen Tools ... Womit?

  Alt 5. Sep 2007, 14:43
SHARED MEMORY!

Viele Programme, die Daten von Plugins oder anderen Programmen bekommen, arbeiten damit:

MBM, Speedfan, Everest, Samurize, Rainmeter, Rivatuner, LCDsmartie, LCDhype, ATItools etc.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 4     12 34      


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 21:44 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