Olá Alexandre...
 
Seu exemplo funciona, mas o problema é que não utilizar como um tratamento
geral, pois a linha retorna é a linha onde se encontra o comando
Assert(False, e.Message);, ou seja, terei q fazer o tratamento por blocos de
codigo e caso um erro desconhecido apareça, nao vai ser possivel identificar
a linha onde ocorreu...
 
Mas é uma boa dica para outros casos..
 
Joao Paulo


  _____  

De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em
nome de Alexandre
Enviada em: terça-feira, 31 de janeiro de 2006 21:11
Para: delphi-br@yahoogrupos.com.br
Assunto: RES: [delphi-br] Número da Linha e Unit do Erro


Olá,

Não sei se estou falando besteira, mas e se você tentar fazer uma
'asserção'? 

{$R *.dfm}

procedure ErrorHandler(const Message, Filename: string; LineNumber:
Integer; ErrorAddr: Pointer);
begin
   ShowMessageFmt('ERRO: %s'+#10#13+'ARQUIVO: %s'+#10#13+'LINHA:
%d',[Message, Filename, LineNumber]);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
    try 
        Operação que causa excessao
    except
        on e:exception do begin
            AssertErrorProc := @ErrorHandler;
            Assert(False, e.Message);
        end;
    end;
end;

Sei não. Nunca testei, faz um teste aí e retorna pra gente. Diferente
disso aí, procure por 'AssertErrorProc example' no help do delphi.

Saudações.

---
[]'s

Alexandre

Frase da semana: "Não basta ter grandes qualidades, cumpre saber
usá-las." (La Rochefoucauld)
-----Mensagem original-----
De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED]
Em nome de Rubem Nascimento da Rocha
Enviada em: terça-feira, 31 de janeiro de 2006 19:41
Para: delphi-br@yahoogrupos.com.br
Assunto: RE: [delphi-br] Número da Linha e Unit do Erro
Prioridade: Alta

(Acho que já respondi isso em outra lista, mas em todo caso ...)

Você tem três alternativas:

1) Um componente pago chamado EurekaLog (http://www.eurekalog.com);

2) A suite(coleção) de componentes JEDI (Joint Endeavour of Delphi
Innovators). Ela possui uma rica biblioteca de classes chamada JCL (JEDI
Class Library). Essa biblioteca possui um conjunto de classes
utilitárias e experts para o IDE do Delphi que permitem adicionar à sua
aplicação este recurso de log de exceções;

3) Estudar a estrutura dos arquivos .MAP que são gerados quando se
efetua um build da aplicação. Existem artigos na Internet (e até
componentes - é só pesquisar usando nosso bom e velho Google) que
explicam a estrutura desses arquivos e como usá-los para registrar
informações detalhadas a partir do endereço onde ocorreu a exceção
(unit, nome da procedure e número da linha no código fonte).

A dica pra pescar o peixe foi passada. Agora, pesque-o!
Sds.


>From: "Joao Paulo - Spectrum" <[EMAIL PROTECTED]>
>Reply-To: delphi-br@yahoogrupos.com.br
>To: <delphi-br@yahoogrupos.com.br>
>Subject: [delphi-br] Número da Linha e Unit do Erro
>Date: Tue, 31 Jan 2006 14:26:41 -0300
>
>Fiz um tratamento geral de erros com a geração de arquivo de log, 
>usando o evento OnException da Aplicação.
>O que eu gostaria de saber, é se existe alguma possibilidade de saber 
>em qual linha e unit ocorreu um erro, para ficar mais mais identificar 
>possíveis problemas que venham ocorrer somente em produção...
>
>Obrigado...
>
>João Paulo
>
>
>[As partes desta mensagem que não continham texto foram removidas]
>

_________________________________________________________________
MSN Messenger: converse com os seus amigos online. 
http://messenger.msn.com.br



--
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>



Links do Yahoo! Grupos









__________ NOD32 1.1389 (20060131) Information __________

This message was checked by NOD32 antivirus system.
http://www.eset.com




-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>






Yahoo! Grupos, um serviço oferecido por:        

PUBLICIDADE
 
<http://br.ard.yahoo.com/SIG=12f5vbmfu/M=393477.7870451.8719931.2369893/D=br
clubs/S=2137111264:HM/Y=BR/EXP=1138755920/A=3254979/R=0/id=noscript/SIG=12k5
j3olb/*http://www.momentumquiz.com.br/index.php?md5ref=372BBEE98E9544bd8B2F9
E87847EEEBE_3>          

  _____  

Links do Yahoo! Grupos


*       Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/delphi-br/
  

*       Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]> 
  

*       O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
Serviço do Yahoo! <http://br.yahoo.com/info/utos.html> . 



  _____  

Esta mensagem foi verificada pelo E-mail Protegido Terra
<http://mail.terra.com.br/> .
Scan engine: McAfee VirusScan / Atualizado em 31/01/2006 / Versão:
4.4.00/4686
Proteja o seu e-mail Terra: http://mail.terra.com.br/ 



[As partes desta mensagem que não continham texto foram removidas]



-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

<*> Para ver as mensagens antigas, acesse:
    http://br.groups.yahoo.com/group/delphi-br/messages

<*> Para falar com o moderador, envie um e-mail para:
    [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a