Circular unit reference
tenho a seguinte situação:
no Form1 delaro uma property do tipo de um TDataModule1 e no DataModule1 declaro uma property do tipo TForm1.
tá aí a referência circular. sendo que eu preciso fazer assim.
como posso resolver isso?
no Form1 delaro uma property do tipo de um TDataModule1 e no DataModule1 declaro uma property do tipo TForm1.
tá aí a referência circular. sendo que eu preciso fazer assim.
como posso resolver isso?
Raserafim
Curtidas 0
Melhor post
Marcelo Saviski
13/01/2006
isso ocoore quando faz referencia a uma unidade em outra unidade e a outra na uma...
por exemplo, digamos que você tenha uma Unit1 e uma Unit2
A unit1 pode estar assim
e na unit 2
isso é a referencia circular.
para resolver, vc vai ter que declarar a sua property do tipo Form1 em um lugar fora da classe, depois do [b:47edbaa21c]implementation[/b:47edbaa21c], remover a Unit do form do uses ´de cima´ e colocar isso depois do implementation:
ou pode fazer isso na unit do form ao invez na do DataModule.
A solução é você ter uma das units (a ´secundária´) declarada no uses ´de baixo´, depois do implementation, ai vc pode fazer referencia entra ambas as units.
por exemplo, digamos que você tenha uma Unit1 e uma Unit2
A unit1 pode estar assim
unit Unit1;
uses
Windows, ..., Classes, ...., [b:47edbaa21c]Unit2[/b:47edbaa21c];
e na unit 2
unit Unit2;
uses
Windows, ..., Classes, ...., [b:47edbaa21c]Unit1[/b:47edbaa21c];
isso é a referencia circular.
para resolver, vc vai ter que declarar a sua property do tipo Form1 em um lugar fora da classe, depois do [b:47edbaa21c]implementation[/b:47edbaa21c], remover a Unit do form do uses ´de cima´ e colocar isso depois do implementation:
uses UnitDoForm
ou pode fazer isso na unit do form ao invez na do DataModule.
A solução é você ter uma das units (a ´secundária´) declarada no uses ´de baixo´, depois do implementation, ai vc pode fazer referencia entra ambas as units.
GOSTEI 1
Mais Respostas
Raserafim
13/01/2006
foi exatamente isso q acabei fazendo.
valeu Marcelo
valeu Marcelo
GOSTEI 0