Thema: Delphi Log-Datei realisieren

Einzelnen Beitrag anzeigen

Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Log-Datei realisieren

  Alt 8. Nov 2007, 16:10
Da gibt es viele Möglichkeiten. Eine einfache wäre zum Beispiel, dass mit CreateMutex ein benannter Mutex erzeugt wird. Mit WaitForSingleObject wartet dann ein Programm darauf, dass es Zugriff auf den Mutex kriegt. Dann schreibt es in die Datei (wie du vorgeschlagen hast), und ermöglicht mit ReleaseMutex dem nächsten Programm den Zugriff.
Zum Mitschreiben:
Delphi-Quellcode:
//Irgendwo bei Programmstart
MutexHandle:=CreateMutex(nil, false, 'MeinEindeutigerName');

//Zum loggen:
WaitForSingleObject(MutexHandle, INFINITE); //warten, bis kein Programm mehr schreibt
try
  AssignFile(f, 'C:\Test.log');
  try
    Append(f);
    Writeln(f, 'Ein Log-Eintrag');
  finally
    CloseFile(f);
  end;
finally
  ReleaseMutex(MutexHandle); //jetzt dürfen wieder andere
end;

//am Ende
CloseHandle(MutexHandle);
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat