假如建立了data module窗体,名为DM,加入了数据访问组件。
然后我在其它窗体中作调用:
如: DM.Query1.close;
等,系统就报错,为何?
报错内容:
‘access violation at adress 004a2803 in modules 'datamodule.exe'peocess stoped’
然后我在其它窗体中作调用:
如: DM.Query1.close;
等,系统就报错,为何?
报错内容:
‘access violation at adress 004a2803 in modules 'datamodule.exe'peocess stoped’
以下是完整的报错内容---------------------------
Project datamodules.exe raised exception class EAccessViolation with message 'Access violation at address 004A2803 in module 'datamodules.exe'. Read of address 0000005C'. Process stopped. Use Step or Run to continue.
---------------------------
另外,怎样检查是否create?谢谢!!
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TDataModule2, DataModule2);
Application.Run;
end.改成:
begin
Application.Initialize;
Application.CreateForm(TDataModule2, DataModule2);
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
注:也就是说,在一个工程中,尽量把datamodule的create放到第一个位置,因为只有这样,才会使写在如form1的create事件的DM.Query1.close;语句不会出错,否则的话,对象还没有创建,就去调用它,能不出错吗?