AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TService debuggen

Ein Thema von FrankBrin · begonnen am 12. Nov 2007 · letzter Beitrag vom 23. Nov 2009
 
Benutzerbild von Codewalker
Codewalker

Registriert seit: 18. Nov 2005
Ort: Ratingen
945 Beiträge
 
Delphi XE2 Professional
 
#17

Re: TService debuggen

  Alt 23. Nov 2009, 11:51
Zitat von Phoenix:
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.
Zitat von Phoenix:
Ich befürchte, da das (leider) nicht auf meinem Mist gewachsen ist, dass ich da nicht viel drüber sagen darf.
Eigentlich schade. Aber ich habe eine augenscheinlich funktionierende Variante per Zufall entdeckt. Dazu muss man nichtmal TService aufbohren, sondern einfach in die Projektdatei
  {$APPTYPE CONSOLE} 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:

Delphi-Quellcode:
procedure WriteConsole(Text: String);
begin
 If DebugHook <> 0
  then Writeln(Text);
end;
oder wenn man sich neben {$APPTYPE CONSOLE} noch ein eigenes DEFINE baut:
Delphi-Quellcode:
{...}
{$DEFINE DEBUGSERVICE}
{...}
procedure WriteConsole(Text: String);
begin
 {$IFDEF DEBUGSERVICE}
 Writeln(Text);
 {$ENDIF}
end;
Wichtig: Dieses Define gilt nur für diese Unit!

Klappt bisher sehr gut - Feedback erwünscht
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:07 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