AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Daten austauschen zw. fremden Prog (AddIn) und meinem Prog
Thema durchsuchen
Ansicht
Themen-Optionen

Daten austauschen zw. fremden Prog (AddIn) und meinem Prog

Ein Thema von RWarnecke · begonnen am 18. Apr 2009 · letzter Beitrag vom 18. Apr 2009
Antwort Antwort
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#1

Daten austauschen zw. fremden Prog (AddIn) und meinem Prog

  Alt 18. Apr 2009, 19:18
Hallo zusammen,

ich möchte gerne Daten zwischen einem meiner Programme (selbst geschrieben in Delphi) und einer Fremdsoftware austauschen. Ich habe bei der Fremdsoftware die Möglichkeit eines Plugin's. Mit MSDN-Library durchsuchenWM_COPYDATA weiß ich, dass ich zwischen zwei Programmen Daten in Form von Text austauschen kann. Es soll aber nicht nur Text ausgetauscht werden sondern auch andere Binäre Daten. Das heißt eventuell über einen Stream.
Ich hatte dazu die Idee die Komponenten TCPClient und TCPServer zu verwenden, was mir aber ein bisschen überdemensioniert vorkommt.

Deshalb meine Frage :
Wie würdet Ihr die Aufgabe angehen und mit welchen Befehlen und/oder Komponenten würdet Ihr das realisieren ? Der Austausch soll in beide Richtungen gehen.

Edit: Rechtschreibfehler korrigiert.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#2

Re: Daten austauschen zw. fremden Prog (AddIn) und meinem Pr

  Alt 18. Apr 2009, 19:20
Muss das nicht in der Fremdsoftware klar definiert sein? Ich würde mal dessen Doku studieren.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#3

Re: Daten austauschen zw. fremden Prog (AddIn) und meinem Pr

  Alt 18. Apr 2009, 19:29
Ich schaue nochmal nach, bin aber fast sicher, dass die Software es nicht zulässt. Deshalb ja meine Idee, mit dem PlugIn welches als Schnittstelle dienen soll.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#4

Re: Daten austauschen zw. fremden Prog (AddIn) und meinem Pr

  Alt 18. Apr 2009, 19:32
Ja, aber die Plugin-Schnittstelle muss doch auch definiert sein, oder täusche ich mich?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#5

Re: Daten austauschen zw. fremden Prog (AddIn) und meinem Pr

  Alt 18. Apr 2009, 19:49
Die PlugIn-Schnittstelle ist definiert. Ich kann aber lediglich nur eigene Fenster erstellen, die direkt von der Anwendung aufrufbar sind.

Ein Beispiel welches es vielleicht am besten verdeutlicht, ich möchte es nur auf ein andere Programm anwenden :
Ich habe doch das Programm Code-Orakel geschrieben. Nun möchte ich ein Code-Beispiel aus Code-Orakel im RAD-Studio in den bestehenden Sourcecode einfügen. Nach meinem Wissenstand gibt es jetzt drei Möglichkeiten.
1. Möglichkeit --> Ich kopieren das Beispiel über die Zwischenablage in den bestehenden Sourcecode. (Einfachste)
2. Möglichkeit --> Ich schreibe einen Experten für's RAD, welcher dann auf die Datenbank zugreift und ich mit einem Button Klick den Sourcecode einfüge. (Etwas schwieriger als Möglichkeit 1, habe aber so doppelten Aufwand.)
3. Möglichkeit --> Ich habe in meinem bestehenden Programm einen Menüpunkt oder einen Button. Wenn nun auf den Button geklickt wird, dann wird der Sourcecode an den Experten geschickt. Dieser Experte fügt dann den Sourcecode in die geöffnete Unit ein.

Und sowas wie in Möglichkeit 3 beschrieben möchte ich realisieren. Oder denke ich mal wieder zu kompliziert ?

Edit : Wie gesagt, dass mit dem RAD-Studio soll nur ein Beispiel sein.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Daten austauschen zw. fremden Prog (AddIn) und meinem Pr

  Alt 18. Apr 2009, 20:33
WM_COPYDATA ist nicht nur für Strings. Du gibst nur einen Zeiger auf die Daten und die Länge mit.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#7

Re: Daten austauschen zw. fremden Prog (AddIn) und meinem Pr

  Alt 18. Apr 2009, 20:57
Zitat von Apollonius:
WM_COPYDATA ist nicht nur für Strings. Du gibst nur einen Zeiger auf die Daten und die Länge mit.
Und dann kann ich auch Binäre Daten über geben ? Kann ich denn bei PlugIn's einfach WM_COPYDATA nehmen ?
Wenn ich das SendMessage in dem PlugIn Benutze habe ich dann nicht ein falsches Handle ?
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Daten austauschen zw. fremden Prog (AddIn) und meinem Pr

  Alt 18. Apr 2009, 21:03
Wenn du dein Plugin erstmal im Programm drin hast, ist es einfach. Du erstellst an beiden Kommunikationsendpunkten ein Fenster mit einem eindeutigen Klassennamen oder einem eindeutigen Titel, welches du dann vom anderen Endpunkt aus mit FindWindow suchst, und kannst dann munter deine Daten versenden. Beim Plugin musst du nur sicher gehen, dass der Host auch eine Nachrichtenschleife hat. Wenn du ganz sicher gehen willst, erstellst du einen eigenen Thread, der die ganze Kommunikation erledigt.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#9

Re: Daten austauschen zw. fremden Prog (AddIn) und meinem Pr

  Alt 18. Apr 2009, 21:05
Ich denke, es geht um den Austausch mit einem Fremdprogramm .
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#10

Re: Daten austauschen zw. fremden Prog (AddIn) und meinem Pr

  Alt 18. Apr 2009, 21:10
@Apollonius: Ok, ich glaube das habe ich soweit kapiert. Werde es in den nächsten Tagen mal ausprobieren und mich dann wieder mit dem Ergebnis melden.

Zitat von DeddyH:
Ich denke, es geht um den Austausch mit einem Fremdprogramm .
Ja es geht darum, wobei ich das PlugIn in dem Fremdprogramm als Schnittstelle nutze.
Rolf Warnecke
App4Mission
  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 17:22 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