jogar numa variável o valor da linha que está exeutando

Delphi

12/05/2004

Alguém sabe como posso retornar o valor da linha que o meu projeto está executando em tempo de execução. Retornando este valor para uma variável. E se possível se alguém souber como retornar qual função ou unit que ele se encontra.


Acacio

Acacio

Curtidas 0

Respostas

Beppe

Beppe

12/05/2004

É meio complicado...o preprocessador não oferece isto, então só resta o runtime...

Exemplo:
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); // a linha retornada é a linha este assert
  finally
    AssertErrorProc := S;
  end;
  Caption := IntToStr(LineNumber);
end;



GOSTEI 0
POSTAR