Array
(
)

Circular unit reference

Raserafim
   - 13 jan 2006

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?


Marcelo Saviski
   - 13 jan 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

Citação:

unit Unit1;

uses
Windows, ..., Classes, ...., Unit2;

e na unit 2

Citação:
unit Unit2;

uses
Windows, ..., Classes, ...., Unit1;


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 implementation, remover a Unit do form do uses ´de cima´ e colocar isso depois do implementation:

#Código

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.


Raserafim
   - 14 jan 2006

foi exatamente isso q acabei fazendo.
valeu Marcelo