RES: [delphi-br] Multi-Thread
José obrigado pela resposta. Eu já estou ativando o Map detalhado na minha aplicação, porém infelizmente não esta dando certo desta maneira. Com outros erros o log aponta exatamente o local, sem problemas. Quanto a sessões críticas, vou tentar implementar se a minha alteração (citada na resposta anterior não der certo). Uma dúvida quanto as sessões críticas: Em um exemplo que encontrei na net - http://delphi.about.com/gi/dynamic/offsite.htm?zi=1/XJ/Ya http://delphi.about.com/gi/dynamic/offsite.htm?zi=1/XJ/Yasdn=delphicdn=co mputetm=96f=00tt=14bt=0bts=0zu=http%3A//www.delphicorner.f9.co.uk/arti cles/op4.htm sdn=delphicdn=computetm=96f=00tt=14bt=0bts=0zu=http%3A//www.delphico rner.f9.co.uk/articles/op4.htm Este exemplo ele explica bem, mas o única problema que encontrei em implementar esta rotina, foi que no exemplo ele utiliza thread fixas, ou seja ele sabe quantas serão geradas, no meu caso eu não, pois elas são geradas dinamicamente. Você já chegou a usar desta maneira? Fábio Lima de Oliveira Analista de Sistema Grupo Coan Alimentos Serviços E-mail: fabio.l...@grupocoan.com.br Site: http://www.grupocoan.com.br http://www.grupocoan.com.br/ De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em nome de José Mário Silva Guedes Enviada em: segunda-feira, 5 de janeiro de 2009 10:53 Para: delphi-br@yahoogrupos.com.br Assunto: Re: [delphi-br] Multi-Thread Para achar o local exato do seu Access Violation, procure na web o AVFinder.exe. Acho que será bem útil no seu caso. Para usá-lo você tem que ativar a geração do arquivo MAP (Project-Options-Linker-Map File-Detailed). Sugiro sempre, caso não esteja utilizando, o uso da seção crítica para se trabalhar com threads. [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]
RES: [delphi-br] Multi-Thread
Renato, bom dia! Desde já agradeço pela sua resposta. Os métodos que alteram a VCL já estão declarados como seguro. O que estou pensando em fazer é colocar um tempo maior para disparar Threads e também as mesmas serem disparadas por um único timer também. Assim que eu tiver uma posição sobre esta alteração eu posto na lista. Fábio Lima de Oliveira Analista de Sistema Grupo Coan Alimentos Serviços E-mail: fabio.l...@grupocoan.com.br Site: http://www.grupocoan.com.br http://www.grupocoan.com.br/ De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em nome de Paulo Coutinho Enviada em: terça-feira, 30 de dezembro de 2008 20:52 Para: delphi-br@yahoogrupos.com.br Assunto: Re: [delphi-br] Multi-Thread O método serve apenas para quando você for alterar algo visualmente direto da thread, tornando ela uma safe thread. Se na thread você quiser alterar sua progressbar, use este método seguro para fazer tal ação. Claro que isso não é uma solução para o seu problema, mas deve ajudar. Abs. 2008/12/30 Fabio Lima fabio.l...@grupocoan.com.br mailto:fabio.lima%40grupocoan.com.br Boa tarde pessoal! Estou desenvolvento um sistema que trabalha com várias Threads. O sistema tem a função de extrair dados dos servidores e geram um arquivo .txt que é importado por outra Thread. Lendo em alguns artigos vi que os métodos que não alteram algo dentro da VCL não devem utilizar o Synchronize. O sistema roda tranquilamente durante uns 4 minutos e log em seguida acaba gerando vários Access Violation, para tentar encontrar o problema eu utilizei o componen Expression Manager para gerar os logs incluisive o call Stack. Um exmeplo dos logs segue abaixo: Tipo : EAccessViolation ( EExternal ) Unit : Classes Linha : Unknown Classe : Classes Função : TComponent.Notification Endereço : 0x0042AA68 Sender Class : TTimer TComponent TPersistent TObject Sender Name : tmrPing Ip : 121.120.119.142 Mem Total(Kb) : 515.180 Ko Mem Disp(%) : 94 % Mem Virtual(Kb) : 2.097.024 Ko Mem Vir Disp(Kb): 2.064.796 Ko Pag Total(Kb) : 1.259.336 Ko Pag Disp(Kb) : 409.056 Ko Mensagem : Access violation at address 0042AA68 in module 'Monitoramento.exe'. Read of address 0830 Call Stack : U_XAM_Debug::U_XAM_Debug.TXAMDebug.GetCallStack U_XAM_Debug::U_XAM_Debug.TXAMDebug.GetExceptionInfos U_XAM_Debug::U_XAM_Debug.TXAMDebug.ProcessException U_XAM_Debug::U_XAM_Debug.TXAMDebug.HandleException Forms::Forms.TApplication.HandleException Classes::Classes.StdWndProc Windows::Windows.HwndMSWheel ActiveX::ActiveX.SafeArrayGetUBound SysConst::ActiveX.Succeeded SysConst::ActiveX.Succeeded Variants::varian...@varfromlstr Variants::varian...@vartoint64 Classes::Classes.TComponent.DestroyComponents Classes::Classes.TThread.CheckThreadError Menus::Menus.TMenu.UpdateImage Menus::Menus.TMenu.AdjustBiDiBehavior StdCtrls::StdCtrls.TCustomGroupBox.AdjustClientRect StdCtrls::StdCtrls.TCustomGroupBox.Create SysUtils::SysUtils.ShowException System::System.ParamCount SysUtils::SysUtils.ScanTime Já tentei analizar este log, principalmente tentar encontrar uma explicação para o Access violation. Se alguém analizando este log conseguir encontrar algo que possa me ajudar agradeço. Aproveitando, Feliz Ano Novo a todos. Fábio Lima de Oliveira Analista de Sistema Grupo Coan Alimentos Serviços Fone: +55 15 3282-9050 Ramal: 9050 Cel: 19 9187-4192 E-mail: mailto:fabio.l...@grupocoan.com.br mailto:fabio.lima%40grupocoan.com.br fabio.lima%40grupocoan.com.br fabio.l...@grupocoan.com.br mailto:fabio.lima%40grupocoan.com.br fabio.lima%40grupocoan.com.br Site: http://www.grupocoan.com.br/ http://www.grupocoan.com.br [As partes desta mensagem que não continham texto foram removidas] -- Atenciosamente, Paulo Coutinho. Site: www.prsolucoes.com Msn: pa...@prsolucoes.com mailto:paulo%40prsolucoes.com Skype: paulo.prsolucoes [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]