AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Wie kann ich exe.log Files für mein Program erstellen?
Thema durchsuchen
Ansicht
Themen-Optionen

Wie kann ich exe.log Files für mein Program erstellen?

Ein Thema von aaaaaaaaaa_10 · begonnen am 8. Jul 2009 · letzter Beitrag vom 8. Jul 2009
Antwort Antwort
Seite 1 von 2  1 2      
aaaaaaaaaa_10
(Gast)

n/a Beiträge
 
#1

Wie kann ich exe.log Files für mein Program erstellen?

  Alt 8. Jul 2009, 10:20
Hallo,
ich möchte mir log Files meines Programms ausgeben lassen. Allerdings weiß ich nicht, wie ich das machen kann? Mir wurde naher gelegt den JCL Debug expert zu benutzen, aber ich bekomme es damit nicht hin. Kann mir jemand helfen?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Wie kann ich exe.log Files für mein Program erstellen?

  Alt 8. Jul 2009, 11:13
Zitat von aaaaaaaaaa_10:
ich möchte mir log Files meines Programms ausgeben lassen.
Soll dein Programm während es läuft eine Logdatei anlegen und in diese schreiben oder willst du eine vorhandene Logdatei anzeigen? Eine etwas verständlichere Ausdrucksweise wäre recht hilfreich.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Andreas L.
(Gast)

n/a Beiträge
 
#3

Re: Wie kann ich exe.log Files für mein Program erstellen?

  Alt 8. Jul 2009, 11:15
Du musst dich um das erstellen der Log-Datei schon selber kümmern. Mach dir Gedanken darüber welche Infos in der Log enthalten sein sollen. Dann definierst du dir eine globale Variable von Typ TStrings, erstellst diese im onCreate als TStringList und an allen wichtigen Stellen wie z. B. Laden der Einstellungen fügst du der Liste einen Eintrag hinzu z. B. "Laden: C:\Config.dat". Natürlich gibts da noch ganz andere Möglichkeiten ein Logsystem zu realisieren, kommt halt drauf an welche Infos du brauchst und wie komplex deine Anwendung schon ist.
  Mit Zitat antworten Zitat
Stormy

Registriert seit: 8. Okt 2005
Ort: LPZ
73 Beiträge
 
Delphi 6 Enterprise
 
#4

Re: Wie kann ich exe.log Files für mein Program erstellen?

  Alt 8. Jul 2009, 11:15
Hi,

ich weiß ja nicht genau was du loggen willst aber ich würde dir dafür TIniFile oder TextFile empfehlen.


Gruß
Stormy
  Mit Zitat antworten Zitat
aaaaaaaaaa_10
(Gast)

n/a Beiträge
 
#5

Re: Wie kann ich exe.log Files für mein Program erstellen?

  Alt 8. Jul 2009, 11:25
Also, das Problem hat sich etwas gewendet. Ich habe einträge für den logfile zwischen {$IFDEF name} und {$ENDIF} eingebunden. wenn ich jetzt unter projekteinstellungen -> definitionen 'name' eingebe und dann das programm ausführe, passiert aber nichts
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Wie kann ich exe.log Files für mein Program erstellen?

  Alt 8. Jul 2009, 11:32
Zitat von aaaaaaaaaa_10:
Ich habe einträge für den logfile zwischen {$IFDEF name} und {$ENDIF} eingebunden.
Zeig mal Code. Ich habe keine Ahnung, was du meinst oder was du gemacht hast.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
aaaaaaaaaa_10
(Gast)

n/a Beiträge
 
#7

Re: Wie kann ich exe.log Files für mein Program erstellen?

  Alt 8. Jul 2009, 11:34
{$IFDEF DebugLogging}
dbg.Add('TKomMainWnd.DateiNameMittelwerte');
{$ENDIF}

überall im programm hab ich solche anweisungen
  Mit Zitat antworten Zitat
aaaaaaaaaa_10
(Gast)

n/a Beiträge
 
#8

Re: Wie kann ich exe.log Files für mein Program erstellen?

  Alt 8. Jul 2009, 11:38
und das steht in der zugehörigen unit:
Code:
procedure TDebugLog.Add(text: String);
var
   t: TDateTime;
  f: TextFile;
begin
   if (not Assigned(Self)) then
     Exit;
   t := Now;
  EnterCriticalSection(csDL);
  AssignFile(f, FName);
  try
     try
        Append(f);
        WriteLn(f, FormatDateTime('c.zzz - ', t)+text);
     except
        raise Exception.Create('In DebugLog kann nicht geschrieben werden!');
      end;
  finally
     try
        CloseFile(f);
    except
    end;
  end;
  LeaveCriticalSection(csDL);
end;

constructor TDebugLog.Create(path: String);
var
   i: Integer;
  lastTime: TDateTime;
  fn: String;
  fnFound: Boolean;
  f: file;
begin
   inherited Create;
  InitializeCriticalSection(csDL);

   fnFound := false;
  lastTime := 0;
  for i := 1 to 5 do begin
     fn := path+IntToStr(i)+'.log';
     if FileExists(fn) then begin
         if (lastTime > FileDateToDateTime(FileAge(fn))) then begin
         fnFound := true;
        break;
      end else begin
         lastTime := FileDateToDateTime(FileAge(fn));
      end;
    end else begin
       fnFound := true;
      break;
    end;
  end;
  if (not fnFound) then
     fn := path+'1.log';

  FName := fn;

  EnterCriticalSection(csDL);
  AssignFile(f, FName);
  try
     try
        Rewrite(f);
     except
        raise Exception.Create('DebugLog kann nicht angelegt werden!');
     end;
  finally
     try
        CloseFile(f);
    except
    end;
  end;
  LeaveCriticalSection(csDL);
end;

destructor TDebugLog.Destroy;
begin
   DeleteCriticalSection(csDL);
  inherited;
end;

end.
  Mit Zitat antworten Zitat
messie

Registriert seit: 2. Mär 2005
Ort: Göttingen
1.592 Beiträge
 
Delphi 2009 Professional
 
#9

Re: Wie kann ich exe.log Files für mein Program erstellen?

  Alt 8. Jul 2009, 12:16
Delphi-Quellcode:
if (not Assigned(Self)) then
     Exit;
Das ist ja eine interessante Anweisung. Wozu ist die gut?

Grüße, Messie

Edit: unsinnige Frage gestrichen
  Mit Zitat antworten Zitat
Stormy

Registriert seit: 8. Okt 2005
Ort: LPZ
73 Beiträge
 
Delphi 6 Enterprise
 
#10

Re: Wie kann ich exe.log Files für mein Program erstellen?

  Alt 8. Jul 2009, 12:17
Wie und wo hast du "dbg" deklariert? Hast du mal ein Brakepoint auf die Zeile
dbg.Add('TKomMainWnd.DateiNameMittelwerte'); gesetzt und geguckt ob sie überhaupt ausgeführt wird?


Gruß
Stormy
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 07:37 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz