Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Auslösen einer Funktion aus fremder Anwendung (https://www.delphipraxis.net/28085-ausloesen-einer-funktion-aus-fremder-anwendung.html)

Susanne 19. Aug 2004 13:39


Auslösen einer Funktion aus fremder Anwendung
 
Hallo,

vielleicht hat ja jemand von euch eine Idee, wie das Problem gelöst werden könnte.

Ich habe also mein Delphi-Programm A, von hier aus starte ich ein anderes Programm B und führe eine Suche aus. Am Ende wird mir dann eine Liste angezeigt.

Das war das, was bisher passiert. Nun möchte ich aber mit der Maus irgendeinen Eintrag aus der Liste auswählen und anschliessend durch irgendwas z.B. den Klick auf einen Button, eine Funktion in meinem Delphi-Programm A auslösen?

Aber wie kann ich das bloss realisieren?

Gruss
Susanne

SirThornberry 19. Aug 2004 13:41

Re: Auslösen einer Funktion aus fremder Anwendung
 
Entweder mit Sendmessage oder du stellst eine Verbindung zwischen den Programmen mit Client und Server her.

Susanne 19. Aug 2004 13:59

Re: Auslösen einer Funktion aus fremder Anwendung
 
und wie stelle ich das an?

SirThornberry 19. Aug 2004 14:04

Re: Auslösen einer Funktion aus fremder Anwendung
 
wenn du das ganze über Client-Server löst dann musst du im Programm A einen server haben und im Programm B einen Client. Der client verbindet dann zum server (also zu Programm A und sendet halt die Befehle die du dann im Programm A auswerten musst). Wenn du mit Sendmessage das ganze bewerkstelligen willst musst du von Programm B aus Speicher in Programm A reservieren, dann in diesen Speicher reinschreiben und dann mit SendMessage Programm A sagen das es aus dem neuen Speicherbereich was lesen soll, und das muss dann ausgewertet werden. Ich finde das mit dem Client-Server am einfachsten, ist jedoch nicht das eleganteste. Das mit dem Speicher reservieren im anderen Process ist etwas komplizierter, jedoch solltest du über die suche zu beiden Themen hier einiges finden. Du kannst die Informationen auch in eine "memory mapped file" schreiben und von beiden Anwendungen darauf zugreifen.

SirThornberry 19. Aug 2004 14:38

Re: Auslösen einer Funktion aus fremder Anwendung
 
Liste der Anhänge anzeigen (Anzahl: 1)
ich hab mal nen kleines Beispielprogramm geschrieben welches Text von Anwendung B nach Anwendung A sendet per "Memory Mapped Files"

Susanne 20. Aug 2004 07:06

Re: Auslösen einer Funktion aus fremder Anwendung
 
Problem hierbei ist aber auch, dass Anwendung B nicht von mir ist und ich nur ganz wenige Funktionen habe, mit denen ich darauf zugreifen kann.

Ich kann z.B. ein Dokument aus der Liste nehmen und öffnen und dessen Daten auslesen. Aber ich weiss nicht, wie ich herausbekomme, welches Element ich in der Liste markiert habe und wie ich eine Funktion in meinem Programm auslösen kann.


...Ich habe mal ein wenig rumgestöbert. Wäre das ein Ansatz? Kann ich eventuell registerHotKey ?


Ich würde mir dann vorstellen, das ich an einer bestimmten Position in meinem Programm stehe, habe dort die Liste erzeugt und sie wird mir angezeigt. Direkt danach möchte ich eine Schleife haben, wo gewartet wird, ob die fremde Anwendung geschlossen wird oder ob Shift und w gedruckt wurde. Wurde Shift und w gedrückt mache etwas bestimmtes, ansonsten verlasse einfach diese Schleife.

Wäre dies eine Lösung? Kann ich auch nur die NAchrichten eines bestimmten Programmes abfangen?


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:28 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