Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Messages verarbeiten (https://www.delphipraxis.net/103859-messages-verarbeiten.html)

ghost007 22. Nov 2007 20:24


Messages verarbeiten
 
Hallo,
ich möchte realisieren, das man an mein programm messages mit parametern schicken kann, und das programm die infos dann auswertet, bzw. rückgabewerte sendet. Ist das möglich? wenn ja, wie?

MfG - Ghost007

Luckie 22. Nov 2007 20:33

Re: Messages verarbeiten
 
Mach dich mal mit Hier im Forum suchenWM_COPYDATA vertraut: http://www.michael-puff.de/Developer..._COPYDATA.html

Dani 22. Nov 2007 20:37

Re: Messages verarbeiten
 
Named Pipes könnten dir weiterhelfen.

ghost007 22. Nov 2007 20:53

Re: Messages verarbeiten
 
Zitat:

Zitat von Luckie

das schaut vielversprechend aus :) werd mir das ma anschaun

MfG - Ghost007

ghost007 24. Nov 2007 17:10

Re: Messages verarbeiten
 
Hi,
hab mir das ganze nun ma anguggt.
Eine frage hab ich jedoch dazu.
Kann man das nich so machen das man "einfach" durch z.b. folgende zeile mit meinem programm kommunizieren kann?

Delphi-Quellcode:
 SendMessage(hwnd,WN_myapp,parameter1,parameter2);
und vorallem sollte es auch so gehen, das man gleich nen rückgabewert von meinem programm bekommt.

MfG - Ghost007

thkerkmann 24. Nov 2007 17:14

Re: Messages verarbeiten
 
Hi,

klar geht das, wenn dir zwei integers als Parameter reichen....

Wenn Du mehr an dein Programm senden willst musst Du aber WM_COPYDATA benutzen.
Du kannst die integers nicht als Pointer auf Daten verwenden, da es sich um einen anderen Speicherbereich handelt. (2 Programme, 2 Speicherbereiche).

Gruss

ghost007 24. Nov 2007 17:38

Re: Messages verarbeiten
 
hi,
kann ich anstatt der integer auch string schicken? oder mach ich da einfach strtoint ??

Haste eine beispiel, wie man die messages dann empfängt? bzw das ganze aufsezt?

MfG - Ghost007

_frank_ 24. Nov 2007 20:51

Re: Messages verarbeiten
 
hier ist vielleicht das hilfreich:

http://delphi.about.com/od/windowssh...m_copydata.htm

HTH Frank

sirius 24. Nov 2007 21:36

Re: Messages verarbeiten
 
Zum empfangen schreibst du dir eine Methode (in dem entsprechenden TWincontrol an welches Windowhandle du halt deine Nachricht sendest; zB. TForm):
Delphi-Quellcode:
   procedure GetmyMessage(var msg:Tmessage); message WN_myAPP;
Du kannst zwischen zwei Programmen aber nur 2 Integer hin und einen Integer zurück schicken. Ansonsten wie schon mehrmals erwähnt WM_CopyData. Das Problem liegt darin, dass wir im Protected Mode sind und die nicht ohne weiteres auf den Speicher des anderen zugreifen kannst (geht zwar, aber da ist WM_copyData deutlich einfacher)
Wenn du Messages innerhalb eines Programmes verschickst dann gehen auch Pointer auf z.B. Strings, aber nur dann.


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