![]() |
Re: TService debuggen
Es macht ggf. Sinn, die TService-Klasse etwas aufzubohren.
Ich arbeite schon länger mit Diensten, die sich nicht nur als Service, sondern zusätzlich auch als Kommandozeilen-Programm starten lassen. Damit lässt sich sowas einwandfrei aus der IDE heraus debuggen, ohne den Dienst zu installieren und als Dienst zu starten. |
Re: TService debuggen
Zitat:
Magst ein bisserl mehr darüber erzählen? |
Re: TService debuggen
Ich befürchte, da das (leider) nicht auf meinem Mist gewachsen ist, dass ich da nicht viel drüber sagen darf.
|
Re: TService debuggen
ich würde es so machen:
Alle Programmlogik in eigene Klasse zusammenfassen und einmal in ein Service-Anwendung integrieren und einmal in eine normale Anwendung. |
Re: TService debuggen
Zitat:
|
Re: TService debuggen
Zitat:
|
Re: TService debuggen
Zitat:
Zitat:
Delphi-Quellcode:
hinzufügen. Schon bekommt man automatisch eine Konsole und damit einen Prozess geliefert. Man kann mit Writeln('TEXT'); sehr einfach Meldungen ausgeben und auch das Debuggen klappt super. Man muss nur das ganze wieder auskommentieren, wenn man den Service irgendwann als Dienst nutzen will ohne das ganze Debugging drum herum. Es wäre daher sehr hilfreich, die Debug-Ausgaben über eine Hilfsfunktion zu kapseln. Dabei kann man sich selber noch ein DEFINE bauen oder einfach auf einen Debugger prüfen:
{$APPTYPE CONSOLE}
Delphi-Quellcode:
oder wenn man sich neben {$APPTYPE CONSOLE} noch ein eigenes DEFINE baut:
procedure WriteConsole(Text: String);
begin If DebugHook <> 0 then Writeln(Text); end;
Delphi-Quellcode:
Wichtig: Dieses Define gilt nur für diese Unit!
{...}
{$DEFINE DEBUGSERVICE} {...} procedure WriteConsole(Text: String); begin {$IFDEF DEBUGSERVICE} Writeln(Text); {$ENDIF} end; Klappt bisher sehr gut - Feedback erwünscht :wink: |
Re: TService debuggen
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:43 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz