Die JCL (
JEDI Component Library) kann das zum Beispiel.
@MaBuSE: Vielen vielen Dank für den Tipp!
Da ich sowieso JCL im Einsatz habe, habe mich entschieden doch JCL zu verwenden und bin somit davon abgegangen den "System.AssertErrorProc" zu manipulieren, da vermutlich andere Asserts/Exceptions von anderen Units damit auch abgefangen werden.
Nach einigen Experimenten funktioniert folgender Code für mein Vorhaben zufriedenstellend:
Delphi-Quellcode:
implementation
uses JclDebug;
procedure LogMsg(Msg:String);
var
s: String;
begin
s := Format('%s:%u (%s) "%s"',[FileByLevel(1), LineByLevel(1), ProcByLevel(1), Msg]);
WriteToLogFile(s); // <----- ist nur exemplarisch gemeint ;-)
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
LogMsg('Fehlermeldung: Blablabla...');
end;
Achja, für Leute die eingehend sich mit den Möglichkeiten von JCL Debug beschäftigen möchten, weitere Beispiele findet man im JCL Installationsunterverzeichnis unter ".\examples\windows\debug". Der obige Code basiert in Prinzip auf JCL Beispiel ".\examples\windows\debug\sourceloc\SourceLocExamp le.dpr".
Lg,
jus