Área de memória em Pacotes

Delphi

29/04/2008

Olá amigos,

Já li bastante sobre isso e vi em vários sites falando que a vantagem de pacotes é que eles compartilham o mesmo espaço de memória.

Bom até aí na teoria ficou legal, daí estou fazendo meu sistema em forma ´plugá-vel´ com pacotes externos.

Para poder compartilhar variaveis de conexao e outros eu criei uma pacote:

Pacote: MC_ObjetosGlobais.bpl
Unit:  uMCGloba

E nela tenho, antes da Implementation:

var
  Global_Ambiente:   TAmbiente;



Até aí perfeito.


Meu sistema está assim:

EXE que usa o OBJETOS GLOBAL enxerga a variável Global_Ambiente.
No EXE eu carrego dinamicamente um formulário que está no pacote MC_Configurador.

O pacote MC_Configurador utiliza o pacote MC_ObjetosGlobais.


Então (é agora!!!..)

No EXE eu faço, por exemplo:

if Global_Ambiente = nil
begin
  Global_Ambiente := TAmbiente.Create;
  ShowMessage(´Objeto NIL.  Foi criado agora´);
end;


Funciona perfeito.

Daí, no meu formulário dinamico, eu faço o mesmo teste (idêntico ao acima) e percebo que o Global_Ambiente consta como não instanciado.

Desta forma me pareceu que os pacotes não compartilharam o mesmo espaço de memória.

Ou estou falando besteira?

Valeu!


Romulocpd

Romulocpd

Curtidas 0

Respostas

Romulocpd

Romulocpd

29/04/2008

Pessoal, nada? Estou pesquisando tudo e não encontro uma solução.


GOSTEI 0
POSTAR