Entwickler-Ecke
Windows API - Von einer Application eine andere aufrufen.
nick-parker - Do 10.04.08 10:25
Titel: Von einer Application eine andere aufrufen.
Hallo, ich habe folgendes Problem.
Ich möchte aus einer Delphi-Application einen Befehl an eine andere Delphi-Application senden, so das dort eine Procedure ausgeführt wird.
Danke schonmal
Xion - Do 10.04.08 11:31
dazu gibts Massen an Topics, daraus habe ich es auch gelernt. Hier mal so der grobe Code
Sender
1: 2: 3: 4: 5: 6: 7: 8: 9:
| procedure TSystemProcs.ActiveProtokoll(Value: Boolean); var h: THandle; begin if Data.Version.DevelopmentState=True then begin h:=FindWindow('TNynx2Form', nil); SendMessage(H,WM_USER+3,Integer(Value),0); end; end; |
Empfänger
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| const WM_SWITCHPROTOKOLL=WM_USER+3; procedure SwitchProtokoll(var msg: TMessage); message WM_SWITCHPROTOKOLL; procedure TNynx2Form.SwitchProtokoll(var msg: TMessage); begin Protokoll.Switch(msg); end; procedure TProtokoll.Switch(msg: TMessage); begin Active:=Boolean(Msg.wParam); end; |
Delete - Do 10.04.08 13:40
Titel: Re: Von einer Application eine andere aufrufen.
nick-parker hat folgendes geschrieben: |
Hallo, ich habe folgendes Problem.
Ich möchte aus einer Delphi-Application einen Befehl an eine andere Delphi-Application senden, so das dort eine Procedure ausgeführt wird. |
Und was hat jetzt der Titel des Beitrages mit der Frage zu tun?
Timosch - Do 10.04.08 14:07
Der einfachheit halber bezeichne ich im folgenden das Programm, auf das du zugreifst, mit "Server", und das andere mit "Client".
1. Läuft der Server schon? Wenn ja, dann gehe zu zwei, wenn nein, zu drei.
2. Geht es um Ereignisse, die normalerweise beim Server per Mausklick o.ä. ausgeführt werden (also z.B. Klick auf einen Button simulieren? Wenn ja, gehe zu vier, sonst zu fünf.
3. Rufe den Server schlicht und einfach mit einem Parameter auf. (Siehe ParamStr und ParamCount). Das ist die einfachste Lösung. Ende.
4. Dann sende Messages, so wie Xion geschrieben hat. Ende.
5. Bist du Anfänger? Wenn ja, gehe zu 6, sonst gehe zu 7.
6. Verwende DDE, dafür gibt es zwei schöne Komponenten, einfach mal in der Delphi-Hilfe und hier nach DDE suchen. Auch eine ziemlich einfache Variante. Ende.
7. Ist es ein großes, professionelles Projekt? Wenn ja, gehe zu 8, wenn nein, zurück zu 6.
8. Schreibe einen OLE-Server. Das ist die komplizierteste Variante und hier wohl völlig fehl am Platze. Ende.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!