Einzelnen Beitrag anzeigen

jus

Registriert seit: 22. Jan 2005
344 Beiträge
 
Delphi 2007 Professional
 
#7

AW: aktuelle Quellcodezeile im Programm ermitteln

  Alt 28. Aug 2014, 23:15
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

Geändert von jus (28. Aug 2014 um 23:23 Uhr)
  Mit Zitat antworten Zitat