Execcao da Aplicação modularizada com Package BPL
Ola a todos. este é um caso de meu antigo problema para algo ainda sem solução.
Ferramenta: Rad Studio Delphi XE2
OS: Windows 7
Vou explicar aqui o que tenho no projeto e que ocorre a seguinte exceção:
"Project SysPet.exe raised exception class EAccessViolation with mensagem 'Access
violation at adress 0088167A7 in module 'RTL.bpl'. Write at Adress 00FC3138'.
Minha aplicação toda é modularizada com várias BPL's dentro destas muitas BPL's faço referência a RTL.bpl (RTL.dcp). Não confundam, esta RTL.bpl não é a mesma do Delphi.
Possuo um Pacote RTL.bpl que nele possui declarado todos os meus componentes que São do Indy, Vcl, rtl, JCL, JVCL e TMS.
Estes componentes são embutidos nesta BPL o que possibilita a distribuição apenas desta BPL para que a aplicação funcione.
Na cláusula required da minha RTL.bpl não especifico nada, pois faça com que o Delphi compile ela embutindo todos as unit's que utilizo na aplicação.
Até o momento tudo funcionava. Bastou fazer o seguinte para começar o inferno:
Eu tive que usar um novo componentes da própria TMS Software o TAdvListView e este precisava ser declarado na minha RTL.bpl e por sua vez, removi todas as dcu, dcp, bpl e exe da aplicação (diretório binary onde direciono as compilações) e fiz um build em tudo. Perfeito até ai...tudo foi construido normalmente.
Executei o programa SysPet.exe...perfeito...chamei um form que não tinha o componente AdvListView...perfeito...chamei o form que tinha o componente AdvListView...PAU!!!...Gera a exceção mencionada acima ""Project SysPet.exe raised exception class EAccessViolation...."
Pior, não tem ponto de parada, nem se sabe onde está a exceção. No form que está em uma bpl não indica onde ocorreu o erro, nem no create(), nem na linha initialization.
O que posso fazer para resolver este problema ?
FAVOR: NAO ME VENHA COM DIZER QUE O PROBLEMA È O COMPONENTE QUE NÂO È ELE, JA TIVE ISTO COM A MESMA SITUACAO DE OUTROS DIVERSOS, QUANDO ACRESCENTAVA MAIS UMA UNIT AO RTL.BPL, POR EXEMPLO O ACBR. NÂO FOQUEM NO CÒDIGO, SE FOSSE O CÒDIGO JÀ TERIA DADO PONTO DE PARADA, O QUE NÃO È O CASO.
Abraços
Ferramenta: Rad Studio Delphi XE2
OS: Windows 7
Vou explicar aqui o que tenho no projeto e que ocorre a seguinte exceção:
"Project SysPet.exe raised exception class EAccessViolation with mensagem 'Access
violation at adress 0088167A7 in module 'RTL.bpl'. Write at Adress 00FC3138'.
Minha aplicação toda é modularizada com várias BPL's dentro destas muitas BPL's faço referência a RTL.bpl (RTL.dcp). Não confundam, esta RTL.bpl não é a mesma do Delphi.
Possuo um Pacote RTL.bpl que nele possui declarado todos os meus componentes que São do Indy, Vcl, rtl, JCL, JVCL e TMS.
Estes componentes são embutidos nesta BPL o que possibilita a distribuição apenas desta BPL para que a aplicação funcione.
Na cláusula required da minha RTL.bpl não especifico nada, pois faça com que o Delphi compile ela embutindo todos as unit's que utilizo na aplicação.
Até o momento tudo funcionava. Bastou fazer o seguinte para começar o inferno:
Eu tive que usar um novo componentes da própria TMS Software o TAdvListView e este precisava ser declarado na minha RTL.bpl e por sua vez, removi todas as dcu, dcp, bpl e exe da aplicação (diretório binary onde direciono as compilações) e fiz um build em tudo. Perfeito até ai...tudo foi construido normalmente.
Executei o programa SysPet.exe...perfeito...chamei um form que não tinha o componente AdvListView...perfeito...chamei o form que tinha o componente AdvListView...PAU!!!...Gera a exceção mencionada acima ""Project SysPet.exe raised exception class EAccessViolation...."
Pior, não tem ponto de parada, nem se sabe onde está a exceção. No form que está em uma bpl não indica onde ocorreu o erro, nem no create(), nem na linha initialization.
O que posso fazer para resolver este problema ?
FAVOR: NAO ME VENHA COM DIZER QUE O PROBLEMA È O COMPONENTE QUE NÂO È ELE, JA TIVE ISTO COM A MESMA SITUACAO DE OUTROS DIVERSOS, QUANDO ACRESCENTAVA MAIS UMA UNIT AO RTL.BPL, POR EXEMPLO O ACBR. NÂO FOQUEM NO CÒDIGO, SE FOSSE O CÒDIGO JÀ TERIA DADO PONTO DE PARADA, O QUE NÃO È O CASO.
Abraços
Guilherme Wiethaus
Curtidas 0