Autor Beitrag
nick-parker
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Do 10.04.08 10:25 
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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
EE-Maler
Beiträge: 1952
Erhaltene Danke: 128

Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
BeitragVerfasst: Do 10.04.08 11:31 
dazu gibts Massen an Topics, daraus habe ich es auch gelernt. Hier mal so der grobe Code

ausblenden 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;


ausblenden 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;

_________________
a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 10.04.08 13:40 
user profile iconnick-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
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1314

Debian Squeeze, Win 7 Prof.
D7 Pers
BeitragVerfasst: 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.

_________________
If liberty means anything at all, it means the right to tell people what they do not want to hear. - George Orwell