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 Dienste und Nachrichten (https://www.delphipraxis.net/79681-dienste-und-nachrichten.html)

nitschchedu 26. Okt 2006 13:36


Dienste und Nachrichten
 
Erstmal Hallo alle zusammen

Ich will von der Einen Anwendung den Dienst einen Stream schicken und der Dienst soll der Anwendung einen Stream schicken.

Habe auch was gefunden Hier bloss, wie bekommt der Service die
nachricht ?

Delphi-Quellcode:
procedure WMCopyData(var Msg: TWMCopyData); message WM_COPYDATA; <---

:gruebel:

Ach ja das ganz will ich alls klasse schreiben Siehe Hier.

nitschchedu 26. Okt 2006 14:37

Re: Dienste und Nachrichten
 
* push * :roteyes:

Daniel G 26. Okt 2006 14:42

Re: Dienste und Nachrichten
 
Hi nitschchedu,

Das Pushen ist erst nach 24 Std. erlaubt. :warn: :wink:

Sunlight7 26. Okt 2006 14:43

Re: Dienste und Nachrichten
 
Obwohl ich bei Diensten nicht mitreden kann, aber pushen ist erst nach 24 Stunden erlaubt :zwinker:

Edit: Ich geb's auf mit den roten Kästen, die mögen mich nicht und weichen mir aus :cry:

nitschchedu 26. Okt 2006 14:49

Re: Dienste und Nachrichten
 
Wirklich ? :gruebel: Ok wusste ich nicht. Sorry Leute :oops: Wird nicht wieder vorkommen !

nitschchedu 26. Okt 2006 15:43

Re: Dienste und Nachrichten
 
In Delphi Hilfe steht das TServiceApplication Die Windows Message bekommt. Hat einer ne Ahnung wie das geht ?

Bernhard Geyer 26. Okt 2006 15:55

Re: Dienste und Nachrichten
 
Ich denke das wird nur gehen wenn der Dienst das Recht "Interaktion mit Desktop" hat. Ansonsten bekommt er eine eigenen Desktop und mit dem werden die Message nicht ausgetauscht.

Was spricht dagegen mit Named Pipes oder "puren" Sockets zu arbeiten?

Luckie 26. Okt 2006 19:05

Re: Dienste und Nachrichten
 
Da ein Service kein Fenster hat, wirst du wohl keine Fensternachrichten schicken können. Denk dir was anderes aus: Pipes oder MemoryMappedFiles.

nitschchedu 27. Okt 2006 07:20

Re: Dienste und Nachrichten
 
Biste dir ganz sicher :gruebel: denn durch die klasse (oben der Linke(Hook)) bekommt der Servic doch ein Message. Warum hat er sonst auf die WM_TIMECHANGE reagiert ?

nitschchedu 27. Okt 2006 14:46

Re: Dienste und Nachrichten
 
Hey Luckie weißt du wie ich WM_COPYDATA Hooken kann ? vom Fromular. :mrgreen: :gruebel:

Luckie 27. Okt 2006 15:50

Re: Dienste und Nachrichten
 
Warum denn so umständlich? Ich habe dir doch Alternativen genannt, wenn WM_COPYDATA nicht geht.

nitschchedu 30. Okt 2006 07:17

Re: Dienste und Nachrichten
 
Ok Wenn du mir Erklärst wie ich das im Dienst und in der Anwendung Programmiere dann mache ich das (MemoryMappedFiles Hört sich besser an)!? :mrgreen:

nitschchedu 1. Nov 2006 12:47

Re: Dienste und Nachrichten
 
Habe noch mal darüber nachgedacht und musste feststellen an einem Tut von Luckie das ich wieder Windows Message brauche.
Zitat:

Sender:
{
Author : Michael Puff - http://developer.luckie-online.de
Date : 2005-03-07
License : PUBLIC DOMAIN
}

....

const
WM_MMFNOTIFY = WM_USER + 1;

type
TTReceiver = class(TForm)
Edit1: TEdit;
CheckBox1: TCheckBox;
Edit2: TEdit;
private
{ Private declarations }
procedure WMMMFNOTIFY(var msg: TMessage); message WM_MMFNOTIFY;
public
{ Public declarations }
end;


Also geht MemoryMappedFiles auch nicht wirklich.


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