Ricardo Bom dia.
Acho que descobri o problema com o access violation. Voce falou que tem um form que cria um datamodule com o acesso aos dados, e quando voce o fechar e tiver outra instancia do form aberto, vai destruir o datamodule que tb esta sendo utilizado pelo outro form (outra instancia) ai ao fechar esta segunda instancia, vai tentar finalizar o datamodule já destruido....(access violatio)...(não sei se consegui me espressar direito...rs..) Sobre o que voce faz em um form acontece no outro, provavelmente voce esta utilizando um datasource no form ligado em um dataset no datamodule, quando voce movimenta os dados em um datasource, esta movimentacao se propaga tb no dataset...e ai se tiver outra instancia do mesmo form, com o datasouce no mesmo dataset...vai mesmo se movimentar...Se voce quiser fazer um teste para provar isto, adicione um dataset em um form e ligue a ele dois datasources, e um grid a cada datasource, rode a aplicacao, se voce navegar em um grid, o outro vai automaticamente mover-se tb.... Entao acho que necessáriamente este problema não se trata de um erro, apenas reveja a sua logica, Complementando, acho entao que não tem haver como voce criou os forms (com mencionei na primeira msg), achei que fosse outro comportamento... Sobre carregar todos os bpls no inicio da aplicacao. Eu carrego todos, já fiz alguns testes com 200 bpls, (4,10 forms cada)(de um trabalhao pra fazer o teste..rs...), mas não tive nenhum problema...é so não esquecer forms abertos antes de descarregar os bpls, e liberar toda a memoria que voce alocou com uma ou outra coisa (objeto)(se deu um create em algo...chame ao menos um destroy no fim). Não esqueca das secoes Initilization/Finalization So pra esclarecer, eu uso um sistema dinamico, semelhante ao delphi...pra voce ter uma ideia o exe tem 12k, tudo é feito por bpl, no exe, carrego uma bpl (que chamo de principal) e que se encarrega de fazer o resto, podendo adicionar e remover outros bpls em run-time. Atenc. Elazar -----Mensagem original----- De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Ricardo Lima Mariz Enviada em: quarta-feira, 7 de junho de 2006 10:07 Para: delphi-br@yahoogrupos.com.br Assunto: Re: [delphi-br] Qual melhor forma de trabalhar com pacotes? Certo, o problema que faz em um e apare em outro é o seguinte, tenho nesse pacote um formulario e um datamodulo, quando da um show no formulário ele cria o datamodulo, o datamodulo contem os componentes de acesso a dados, nesse formulario tem um DBGrid que lista todos registros, ai quando eu abro dois formularios ao mesmo tempo e navego entre os registros do DBGrid o outro formulario aberto também muda a posição no DBGrid, tipo se eu for no primeiro formulario para o ultimo registro, o outro formulário que ta aberto também vai pro ultimo registro. Entendeu o que ta acontece? Eles são a mesma instancia, se eu fechar um formulário e depois tenta fechar o outro da erro de access violation, devido ao fato de ser a mesma instancia e o objeto não está mais em memoria. Vou mudar a forma de criação dos formularios pra vê se vai fazer diferença. Você me falou que carrega todos os pacotes no inicio do programa, isso não sobrecarrega a memória? ----- Original Message ----- From: Yahoo To: delphi-br@yahoogrupos.com.br Sent: Tuesday, June 06, 2006 3:09 PM Subject: RES: [delphi-br] Qual melhor forma de trabalhar com pacotes? Ricardo; Boa tarde; Eu sempre carrego todos no inicio da aplicacao, e descarrego ao final. Teria como esplicar melhor o caso de quando faz alguma coisa em um acontece no outro???? Em todo caso problema de uma coisa acontecer em outro form...(não sei se entendi direito) não acontece comigo; Mas acredito que o problema possa estar aqui; "with TComponentClass(AClass).Create(Application) as TCustomForm Do Show" Voce tem alguma outra metodo para criar o form? Tente outro...."so pra alivio de consciencia". "Application.CreateForm( Classe, Form)" Eu tenho os metodos que dao um create nos form dentro do proprio bpl, bastando apenas uma chamada ao procedimento...e o form é criado, me retornando um ponteiro ao form onde a aplicação 'EXE' pode manipula-lo. Atenc. Elazar -----Mensagem original----- De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Ricardo Lima Mariz Enviada em: terça-feira, 6 de junho de 2006 14:38 Para: delphi-br@yahoogrupos.com.br Assunto: [delphi-br] Qual melhor forma de trabalhar com pacotes? Olá a todos! estou modularizando um novo sistema que estamos desenvolvendo, minha duvida e com relação a como trabalhar com os pacoes carregar/descarregar, estou utilziando uma função para carregar e dar um show no form. Faço dessa forma procedure TForm2.Segurana1Click(Sender: TObject); Var AClass : TPersistentClass; intLoadOk : Integer; begin intLoadOk := LoadPackage(ExtractFilePath(Application.ExeName)+ 'Seguranca.bpl'); If intLoadOk<>0 Then Begin AClass := GetClass('TfrmPerfilConfig'); If AClass <> nil Then with TComponentClass(AClass).Create(Application) as TCustomForm Do Show Else ShowMessage('Classe não econtrada...'); End; end; Ai vem as duvidas, em quem ponto devo descarregar o pacote da memória? Outra coisa se eu abrir o mesmo formulária mais de uma vez, eles ficam como se fossem o mesmo formulário e tudo que faço em um acontece no outro, ai eu fecho o primeiro quando vou fechar o segundo da acess violation por que ja foi fechando quando fechei o primeiro, alguem tem ideial do que pode ser isso? [As partes desta mensagem que não continham texto foram removidas] _______________________________________________________ Abra sua conta no Yahoo! Mail: 1GB de espaço, alertas de e-mail no celular e anti-spam realmente eficaz. http://mail.yahoo.com.br/ [As partes desta mensagem que não continham texto foram removidas] _______________________________________________________ Abra sua conta no Yahoo! Mail: 1GB de espaço, alertas de e-mail no celular e anti-spam realmente eficaz. http://mail.yahoo.com.br/ -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> <*> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages <*> Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ <*> Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html