Thema: Delphi was macht Dienst gerade?

Einzelnen Beitrag anzeigen

Susanne

Registriert seit: 21. Mai 2004
Ort: Lage
232 Beiträge
 
Delphi 2005 Professional
 
#6

Re: was macht Dienst gerade?

  Alt 16. Nov 2004, 08:57
Danke, aber so ganz steige ich da noch nicht durch.

Ich habe meinen Dienst und der Soll Daten senden. Die Funktionen des Dienstes sind in einem Thread. Ich habe die unit pipes in mein Projekt eingebunden. und nun habe ich folgendes gemacht


Delphi-Quellcode:
constructor TMThread.Create(CreateSuspended: Boolean);
  begin
    inherited Create(CreateSuspended);
    Priority := tpLowest;
    //PipeLine erzeugen
    MultiServerPipe:=TMultiServerPipe.Create('DienstAktuell');
  end;
und an der Stelle, an der er nun Daten senden soll, z.B. welches Programm er startet da kommt dann was hin? Programm ist die Variable, die das aktuell auszuführende Programm enthält. Was muss statt BuffSize in dem Aufruf stehen? Und das Write bekomme ich auch nicht aufgelistet, wenn ich den Punkt mache.

MultiServerPipe.Write(Programm, sizeof(Programm), BuffSize); Und mein anderes Programm soll diese Nachricht dann in seiner Oberfläche anzeigen. Dazu brauche ich dann ein TClientPipe. Das erzeuge ich z.B: im OnActivate-Ereignis mit?:
ClientPipe.Create('DienstAktuell'); Bei der Create-Methode will er aber noch einen Parameter haben, FSecurityAttributes.

Und wie lese ich dann, was der Dienst gesendet hat? Und was muss dann bei Sender und ServerPipe stehen? Buffer enthält den gesendeten Text und BuffSize die Grösse des Textes.
ClientPipe.OnReadData(Sender: TObject; ServerPipe: TAbstractPipe; Buffer: Pointer; BuffSize: DWord);
Susanne
  Mit Zitat antworten Zitat