How to get line number at runtime

后端 未结 5 1421
误落风尘
误落风尘 2020-12-03 09:16

is it possible to get source line number at runtime in Delphi? I know JCL debug, but I want to avoid to use it. Also Assert is not exactly what I want. I would like to get s

5条回答
  •  南笙
    南笙 (楼主)
    2020-12-03 09:40

    var  LineNumber: Integer; 
    
    procedure MyAssert(const M, F: string; L: Integer; E: Pointer);
    begin  
      LineNumber := L;
    end; 
    
    procedure TForm1.Button1Click(Sender: TObject);
    var  I: Integer;  
    S: TAssertErrorProc;
    begin  
      I := 0;  
      S := AssertErrorProc;  
      AssertErrorProc := MyAssert;  
      try
        Assert(I <> 0);  
      finally    
        AssertErrorProc := S;  
      end;  
      showmessage(IntToStr(LineNumber));
    end;
    

提交回复
热议问题