Autor Beitrag
sunshineh
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 44



BeitragVerfasst: Fr 10.10.08 10:33 
Hallo,

ich habe bis jetzt eine VCL-Anwendung in Delphi geschrieben. Nun habe ich in einem ersten Schritt alle VCL-Anwendungen so umgeschrieben, dass sich das Delphi-Programm die Informationen aus einer TXT-Datei holt und nicht mehr über die Oberfläche vom Anwender.

1. Kann ich nun den Code kopieren und die Standard-Service Procedure

"procedure ServiceExecute(Sender: TService);" bzw. auch einen Teil auch in "procedure ServiceStart(Sender: TService; var Started: Boolean);"

einfügen und der Service funktioniert dann auch so, wie es die VCL-Anwendung gemacht hat?

2. Wie kann ich eine Service-Anwendung debuggen?

Gruß und danke,

sunshineh
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 10.10.08 11:32 
1. Du kannst dir ja mit Datei --> Neu --> Andere... (Serviceanwendung oder Delphi Dateien --> Service) ein Grundgerüst für einen Service erstellen lassen. Dabei leitest du eine Klasse von TService ab. Die von dir genannten Methoden sind Ereignisbehandlungsroutinen für OnExecute und OnStart dieser Klasse.

2. Das ist nicht so einfach glaube ich, ich habe lange nichts mehr damit gemacht, aber ich kann mich noch erinnern, dass ich mit Logausgaben gearbeitet habe.
Reinhard Kern
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 591
Erhaltene Danke: 14



BeitragVerfasst: Fr 10.10.08 13:04 
user profile iconsunshineh hat folgendes geschrieben Zum zitierten Posting springen:
...
1. Kann ich nun den Code kopieren und die Standard-Service Procedure

"procedure ServiceExecute(Sender: TService);" bzw. auch einen Teil auch in "procedure ServiceStart(Sender: TService; var Started: Boolean);"

einfügen und der Service funktioniert dann auch so, wie es die VCL-Anwendung gemacht hat?
...


Hallo,

das ist eher unwahrscheinlich, denn die meisten Windows-Anwendungen sind "user driven", also jemand klickt auf einen Button und dann passiert was - für den Service gibt es aber keinen User. Ein Service muss von was anderem angetrieben werden, z.B. einen Timer, und er muss Eingaben aus einer Konfigurationsdatei oder der Registry beziehen und Ausgaben in eines der Logs schreiben.

D.h. eigentlich sind nur Anwendungen, die im Hintergrund etwas tun überhaupt für die Umwandlung in einen Service geeignet.

Gruss Reinhard
White-Tiger
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Fr 10.10.08 13:07 
Naja^^
Zitat:
Nun habe ich in einem ersten Schritt alle VCL-Anwendungen so umgeschrieben, dass sich das Delphi-Programm die Informationen aus einer TXT-Datei holt und nicht mehr über die Oberfläche vom Anwender.

Daraus entnehme ich er weiß was er tut.. bzw. hat die Anwendung schon umgeschrieben^^