Eric,

Eu já mexi com o .map. ele traz o erro mas muitas vezes o erro que ele aponta 
está na unit da VCL envolvida no problema e não diretamente na unit do seu 
projeto. Igual erros de banco de dados, o .map sempre aponta ou pra unit DB ou 
DBContrls...

[]s
 
 
Walter Alves Chagas Junior
Belo Horizonte - MG - Brazil
wchag...@bol.com.br
http://www.geocities.com/SiliconValley/Bay/1058
http://delphitocorporerm.blogspot.com/
MSN: whitesock...@hotmail.com
SKYPE: WalterChagasJr


  ----- Original Message ----- 
  From: Eric Roberto Darruiz 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Saturday, February 28, 2009 10:34 AM
  Subject: Re: [delphi-br] Retornar a Linha & Unit


  Oi Walter,

  Achar exatamente a linha, endereço de memória, nome do método e outras as 
informações detalhadas do erro é possível fazendo o parse do arquivo detalhado 
de compilação (*.map).

  Existem vários componentes gratuitos e open-source pela internet, então não 
vou dizer que este ou aquele é excelente, pois quando precisei disso, baixei 
uns 5 componentes que achei interessantes e montei o meu próprio para adaptar 
exatamente às minhas necessidades.

  Nosso colega Leonardo pode fazer o mesmo, buscando em repositórios conhecidos 
como o Torry Delphi Pages ou outros.

  Segue o link da busca do Google para consulta de alguns destes componentes: 
  
http://www.google.com.br/search?hl=pt-BR&q=exception+%2Bmap+files+%2Bdelphi+component&btnG=Pesquisar&meta=

  []'s

  ---
  === Eric Roberto ===
  MSN: eric...@hotmail.com
  Blog: http://cafenocodigo.blogspot.com/

  From: Walter Chagas (Bol) 
  Sent: Friday, February 27, 2009 2:32 PM
  To: delphi-br@yahoogrupos.com.br 
  Subject: Re: [delphi-br] Retornar a Linha & Unit

  Senhores,

  No Clipper isto era possível porque lá o codigo fonte era embutido compilado 
junto com o interpretador de comandos do DBase dentro de um executável. No caso 
do Delphi, que usa um compilador que gera instruções puras de maquina x86, não 
há como guardar o nome e o numero da unit que provocou erro. O nome da Unit e 
da rotina (Função ou procedure) ainda é possível. Vide a rotina abaixo que vos 
mando. Agora o numero exato da linha na unit, não tem como. Ou pelo menos eu 
nunca consegui achar isto.

  function GetUnitName(argObject: TObject): string;
  //
  // Pega o nome da unit aonde ocorreu o erro
  //
  begin
  if (argObject.ClassInfo <> nil) then
  begin
  ptrTypeData := GetTypeData(argObject.ClassInfo);
  Result := ptrTypeData.UnitName;
  end;
  end;

  Screen.ActiveForm.Name -> Nome do Form ativo no momento do erro.
  Screen.ActiveControl.Name -> Nome do Controle ativo (Button, label, checkbox) 
no momento do erro.
  Screen.ActiveControl.MethodName() -> Nome do método (função ou procedimento) 
aonde ocorreu o erro.

  []s

  Walter Alves Chagas Junior
  Belo Horizonte - MG - Brazil
  wchag...@bol.com.br
  http://www.geocities.com/SiliconValley/Bay/1058
  http://delphitocorporerm.blogspot.com/
  MSN: whitesock...@hotmail.com
  SKYPE: WalterChagasJr

  ----- Original Message ----- 
  From: Leonardo Quinino 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Friday, February 27, 2009 11:04 AM
  Subject: Re: [delphi-br] Retornar a Linha & Unit

  Eu desistir de procurar isso no delphi, a unica coisa que ainda nao
  conseguir fazer em relacao ao clipper foi justamente isso, ( eu programei em
  clipper numa epoca jurassica) rs :)...

  a solucao foi rever meus conceitos e valores ahahah,,, usar mais try
  exception, mostrar as mensagens do erro exption E.ErroMessage.. etc....

  gravar logs com telas no momento do erro...

  Mas realmente com a praticidade do clipper, nao encontrei,, talvez seja em
  funcao do tipo de ambiente de trabalho (dos / windows) ou talvez em relacao
  aos metodos de trabalho interno do delphi nao permitir essa informacao.

  Bem a minha opniao bem simploria do assunto é essa, mas posso estar falando
  por ignorancia (falta de conhecimento).

  Seria bom esse assunto, a solucao pode existir, se alguem tiver essa
  solucao,, nos poupe de uma theread sem fim... .r S:)))))) !!!

  2009/2/26 José Mário Silva Guedes <jmariogue...@gmail.com>

  > Olá amigos...
  >
  > Passei o dia fazendo umas rotinas de LOGs e eis que surge a necessidade
  > clássica: Pegar o nome da Unit e o número da linha.
  >
  > Pesquisei e achei o de sempre... Assert, arquivo MAP...
  >
  > Será que algum colega conseguiu resolver este tipo de necessidade? Algum
  > expert ou componente resolve?
  >
  > Um forte abraço!
  >
  > --
  > José Mário Silva Guedes
  > Analista Programador Delphi
  >
  > [As partes desta mensagem que não continham texto foram removidas]
  >
  > 
  >

  -- 
  Leonardo Quinino

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

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

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


  

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

Responder a