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]