请问各位大侠:
我把一个SQDataSet放在一个DataModule(设为单元2)中,我想在另外一个单元(设为单元1)中访问DataModule中的SQDataSet,而且也在单元1中use了单元2,但是编译时系统提示出错。
例如以下完整程序:(以下程序是我调试用,并无其他用途)
单元1:
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, FMTBcd, DB, SqlExpr;type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementationuses Unit2;{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
begin
showmessage(booltostr(DataModule2.SQLDataSet1.Active));{编译时此处报错}
end;end.单元2:
unit Unit2;interfaceuses
SysUtils, Classes, FMTBcd, DB, SqlExpr,Dialogs;type
TDataModule2 = class(TDataModule)
SQLDataSet1: TSQLDataSet;
private
{ Private declarations }
public
{ Public declarations }
end;var
DataModule2: TDataModule2;implementationuses Unit1;{$R *.dfm}end.
我把一个SQDataSet放在一个DataModule(设为单元2)中,我想在另外一个单元(设为单元1)中访问DataModule中的SQDataSet,而且也在单元1中use了单元2,但是编译时系统提示出错。
例如以下完整程序:(以下程序是我调试用,并无其他用途)
单元1:
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, FMTBcd, DB, SqlExpr;type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementationuses Unit2;{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
begin
showmessage(booltostr(DataModule2.SQLDataSet1.Active));{编译时此处报错}
end;end.单元2:
unit Unit2;interfaceuses
SysUtils, Classes, FMTBcd, DB, SqlExpr,Dialogs;type
TDataModule2 = class(TDataModule)
SQLDataSet1: TSQLDataSet;
private
{ Private declarations }
public
{ Public declarations }
end;var
DataModule2: TDataModule2;implementationuses Unit1;{$R *.dfm}end.
作如下改动单元2:
unit Unit2;interfaceuses
SysUtils, Classes, FMTBcd, DB, SqlExpr,Dialogs,Unit1;type
TDataModule2 = class(TDataModule)
SQLDataSet1: TSQLDataSet;
private
{ Private declarations }
public
{ Public declarations }
end;var
DataModule2: TDataModule2;implementation
{$R *.dfm}end.
.
.
procedure TForm1.FormCreate(Sender: TObject);
var
MData:TDataModule2;
begin
MData:=TDataModule2.create(nil);
showmessage(booltostr(DataModule2.SQLDataSet1.Active));{编译时此处报错}
end;end.
.
.
.