TheMaker 0 Denunciar post Postado Janeiro 6, 2005 Oi galera, Criei a seguinte procedure : Procedure ShowErrors(Sender : TObject; E : Exception);BeginMessageDlg('Erro do programa'+#13+E.Message,mtError,[Mbok],0);Abort;End; No Oncreate do form Principal eu digo: Application.OnException := ShowErrors; Tranquilo.. funciona extremamente bem. mas o q eu gostaria mesmo de saber é se é possível assim como no parametro E : Exception especificar um parametro ou outra coisa qualquer q me diga q o error foi em uma determinada procedure, ou function, ou Form, unit , linha enfim... Algo q pudesse me ajudar a saber de onde exatamente vem o erro... por exemplo: Tenho um projeto onde uma rotina chama várias subrotinas..se a msg de erro pudesse me dizer d qual subrotina o erro se origina seria muito bom!! Se alguém souber ou tiver alguma coisa aí ñ deixe de postar OK? Um abraço!! Compartilhar este post Link para o post Compartilhar em outros sites
Dopi 0 Denunciar post Postado Janeiro 6, 2005 E : Exception especificar um parametro ou outra coisa qualquer q me diga q o error foi em uma determinada procedure, ou function, ou Form, unit , linha enfim... Acho que esse tipo de informaçao não está disponivel no Objeto Exception (E)O que pode ajudar é E.ClassName que irá retornar o Nome da Classe de Exceçao gerada. Compartilhar este post Link para o post Compartilhar em outros sites
botaffonso 0 Denunciar post Postado Janeiro 7, 2005 pra você fazer isto você tem q tratar o objeto Sender, que é derivado da classe TObject, devido ao Sender ser qualquer componente.você pode fazer um teste simples como: if sender as edit then "é um edit!"entendeu?? naum sei se o teste condicional é assim....mas tente... Compartilhar este post Link para o post Compartilhar em outros sites
Dopi 0 Denunciar post Postado Janeiro 7, 2005 você pode fazer um teste simples como: if sender as edit then "é um edit!"If Sender is TEdit then TEdit(Sender).Text ...... Compartilhar este post Link para o post Compartilhar em outros sites
bacalhau 0 Denunciar post Postado Janeiro 14, 2005 O TheMaker busca uma coisa que seria maravilhosa! Se alguém souber como se faz mande-me um mail.virtual.viegas@netc.ptPara os programadores mais antigos. Lembram-se quando um programa feito em Clipper rebentava, até aparecia a número da linha onde ocorria o erro?Eu tentei fazer em Delphi e não consegui. O máximo que fiz foi umas variaveis globais que sinalizavam em que local da execução os programas estavam. Mas o resultado não foi satisfatório... mas pode estar aí a solução Compartilhar este post Link para o post Compartilhar em outros sites
Beppe 0 Denunciar post Postado Janeiro 14, 2005 Acho que ninguém aqui usa Assert não é?Tudo bem que Assert deveria ser deixado fora na compilação final, mas ele faz isso, passando nome do arquivo e a linha do Assert ofendido.No Delphi.NET, já existe um suporte built-in no .NET que lista cada stack frame(rotinas chamadas). Compartilhar este post Link para o post Compartilhar em outros sites