AGB  ·  Datenschutz  ·  Impressum  







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

Problem mit TJvLogFile

Ein Thema von divBy0 · begonnen am 13. Jun 2008 · letzter Beitrag vom 13. Jun 2008
Antwort Antwort
Benutzerbild von divBy0
divBy0

Registriert seit: 4. Mär 2007
Ort: Sponheim
1.021 Beiträge
 
Delphi XE2 Professional
 
#1

Problem mit TJvLogFile

  Alt 13. Jun 2008, 08:50
Guten Morgen!

In meinem Projekt nutze ich von den JEDIs die JvLogFile. Allerdings wirft die mir sporadisch einen Fehler beim Programmstart (Siehe Anhang).

Im FormCreate lege ich den Pfad für das Logfile fest und aktiviere die Komponente.

Delphi-Quellcode:
procedure TMainform.FormCreate(Sender: TObject);
var
  path: Array[0..MAX_PATH] of Char;
begin
  SHGetFolderPath(0, CSIDL_COMMON_APPDATA, 1, 0, @path[0]);
  commonAppDataPath := path+'\Run Automation\BDE\';

  JvLog.FileName := commonAppDataPath+'log.txt';
  JvLog.Active := true;
  JvLog.AutoSave := true;
  JvLog.Add('SYSTEM', 'Programm gestartet');
  ...
end;
Der Fehler passiert an dieser Stelle beim Speichern.

Delphi-Quellcode:
procedure TJvLogFile.SaveToFile(FileName: TFileName);
var
  Stream: TFileStream;
begin
  Stream := TFileStream.Create(FileName, fmCreate or fmShareExclusive); // <-- Hier kracht es!
  try
    SaveToStream(Stream);
  finally
    Stream.Free;
  end;
end;
Die Datei ist allerdings nirgends sonst geöffnet. Kennt das Problem jemand? Oder besser: Kennt jemand eine Lösung?

Gruß
Miniaturansicht angehängter Grafiken
jvlogexcept_193.png  
Marc
  Mit Zitat antworten Zitat
Benutzerbild von Aurelius
Aurelius

Registriert seit: 29. Jan 2007
Ort: Erfurt
753 Beiträge
 
Delphi 7 Personal
 
#2

Re: Problem mit TJvLogFile

  Alt 13. Jun 2008, 09:02
Wir die Log-Datei denn zwischendurch benutzt und nicht wieder freigegeben bzw. wird sie vielleicht beim Starten nicht richtig freigegeben?
Jonas
  Mit Zitat antworten Zitat
Benutzerbild von divBy0
divBy0

Registriert seit: 4. Mär 2007
Ort: Sponheim
1.021 Beiträge
 
Delphi XE2 Professional
 
#3

Re: Problem mit TJvLogFile

  Alt 13. Jun 2008, 09:07
Die Logdatei wird nur durch die Komponente selbst benutzt. Ich gehe davon aus, dass diese die Datei freigibt. Die Komponente ist zur Designtime erstellt worden. Dann sollte die eigentlich beim Beenden (Destroy) die Datei freigeben oder nicht?

Werde mal im JEDI-Code suchen... Mich wundert es halt, dass der Fehler nicht regelmäßig auftritt.
Marc
  Mit Zitat antworten Zitat
Benutzerbild von Aurelius
Aurelius

Registriert seit: 29. Jan 2007
Ort: Erfurt
753 Beiträge
 
Delphi 7 Personal
 
#4

Re: Problem mit TJvLogFile

  Alt 13. Jun 2008, 09:12
Der Fehler kommt beim Programmstart? Ich könnte mir das so erklären:
1.) Du aktivierst LogFile beim Start und greifst drauf zu
2.) da AutoSave an ist könnte ich mir vorstellen dass dann SaveToFile aktiv ist wenn du beim Start die Datei noch bgeöffnet hast
3.) nun will die Speicher-Prozedur schreiben --> wenn die Datei allerdings noch offen ist geht das nat. nicht, es knallt.

PS: nutzt du .Destroy? Dann lieber .Free!
Jonas
  Mit Zitat antworten Zitat
Benutzerbild von divBy0
divBy0

Registriert seit: 4. Mär 2007
Ort: Sponheim
1.021 Beiträge
 
Delphi XE2 Professional
 
#5

Re: Problem mit TJvLogFile

  Alt 13. Jun 2008, 09:42
Ich muss mir das mal genauer anschauen...
Marc
  Mit Zitat antworten Zitat
Antwort Antwort


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:55 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