![]() |
CodeSite Express 4.x
Hallo zusammen,
ich nutze noch Delphi XE mit CodeSite Express 4.x. Ich teste gerade etwas mit CodeSite um zu sehen, ob mir das Logging weiter helfen kann. Ich hatte auch SmartInspect probiert, was mir eigentlich wesentlich zugänglicher erscheint. Da es aber anscheinend nicht mehr für neuere Delphiversionen weiterentwickelt wird, will ich mich damit eigentlich nicht mehr beschäftigen. Ich muss ziemlich oft Schnittstellen umsetzen die im Hintergrund laufen und keine GUI haben. Zur Laufzeit erzeuge ich gern dxMemData (von DevExpress), wo ich die Daten vorhalte. Nun kommt es immer wieder vor, dass die Daten die ich einlese nicht so geliefert werden wie abgesprochen. Nun meine Fragen: 1. Kann CodeSite den Inhalt meines dxMemData darstellen? (SmartInspect kann das) 2. Warum wird die Protokolldatei im nachfolgenden Code erst beim 2. Button-Klick erstellt?
Delphi-Quellcode:
procedure TForm12.Button1Click(Sender: TObject);
var DT: TDateTime; Dest: TCodeSiteDestination; begin try try Dest := TCodeSiteDestination.Create(Self); Dest.LogFile.SetMaxSize(10000); Dest.LogFile.SetMaxParts(1); Dest.LogFile.Active := True; Dest.LogFile.FileName := 'LogFile_Test.csl'; Dest.LogFile.FilePath := ExtractFilePath(ParamStr(0)); CodeSite.DateTimeFormat := 'dd.mm.yyyy, hh:nn:zzz'; CodeSite.EnterMethod('TForm1.Button1Click'); DT := Now; CodeSite.SendDateTime(csmgreen, 'Begin: ', DT); CodeSite.Send(CodeSiteManager.ComputerName); dxMemData1.Active; CodeSite.Send(dxMemData1Spalte1.AsString + ';' + dxMemData1Spalte2.AsString + ';' + dxMemData1Spalte3.AsString); DT := Now; CodeSite.SendDateTime(csmgreen, 'Ende: ', Now); CodeSiteLogging.CodeSite.ExitMethod('TForm1.Button1Click'); except on E: Exception do begin CodeSite.SendException(E); raise // re-raise the exception end; end; finally CodeSite.Destination := Dest; end; end; Vielen Dank schon mal vorab! |
AW: CodeSite Express 4.x
Zitat:
Zitat:
|
AW: CodeSite Express 4.x
Zitat:
Warum ignorierst du die Warnungen des Compilers? Zitat:
Eine uninitialisierte Variable da zuweisen und dann hoffen dass CodeSite nicht komplett abraucht. Zitat:
Und warum erstellst du die Destination mehrfach? Beim zweiten Klick liegt das alte Dest als Leiche bis zum Programmende im Speicher, usw. |
AW: CodeSite Express 4.x
Zitat:
|
AW: CodeSite Express 4.x
Hallo,
so, inzw. verstehe ich das CodeSite etwas besser. Danke für Eure Hinweise! :dp: Ich habe CodeSite nun global initialisiert, solange die Anwendung im Debug-Modus kompiliert wird. Nun kann ich in den verschiedenen Methoden die Protokollierung anstoßen.
Delphi-Quellcode:
Das Anzeigen der Daten aus dem Dataset bekomme ich allerdings nicht hin. Evtl. geht das dann nur in der Vollversion.
program Test_CodeSite;
uses Forms, SysUtils, CodeSiteLogging, Unit_Test_CodeSite in 'Unit_Test_CodeSite.pas' {Form12}; {$R *.res} var Destination: TCodeSiteDestination; begin Application.Initialize; {$IFDEF DEBUG} CodeSite.Enabled := True; CodeSite.Enabled := CodeSite.Installed; if CodeSite.Enabled then begin Destination := TCodeSiteDestination.Create(Application); Destination.LogFile.SetMaxSize(10000); Destination.LogFile.SetMaxParts(1); CodeSite.DateTimeFormat := 'dd.mm.yyyy, hh:nn:zzz'; Destination.LogFile.FileName := ChangeFileExt(ExtractFileName(Application.ExeName), '.csl'); Destination.LogFile.FilePath := ExtractFilePath(ParamStr(0)); Destination.LogFile.Active := True; CodeSite.Destination := Destination; CodeSite.Clear end; {$ELSE} CodeSite.Enabled := False; {$ENDIF} Application.MainFormOnTaskbar := True; Application.CreateForm(TForm12, Form12); Application.Run; end. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:29 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