Fórum jogar numa variável o valor da linha que está exeutando #231714

12/05/2004

0

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

Responder

Posts

12/05/2004

Beppe

É 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;



Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar