DataMoudle中,EditC1[1]:=TDBEdit.Create(self);EditC1[1]:=Form1.C1;EditC1是TDbEdit的控

  • 主题发起人 主题发起人 8Oxen
  • 开始时间 开始时间
8

8Oxen

Unregistered / Unconfirmed
GUEST, unregistred user!
DataMoudle中,EditC1[1]:=TDBEdit.Create(self);EditC1[1]:=Form1.C1;EditC1是TDbEdit的控件数组,C1是form1上的dbgrid,我也有在uses中加入form1(50分)<br />DataMoudle中,
EditC1[1]:=TDBEdit.Create(self);
EditC1[1]:=Form1.C1
//这句为什么出内存访问方面的错?
EditC1是TDbEdit的控件数组,C1是form1上的dbgrid,我也有在uses中加入form1
 
EditC1[1]:=TDBEdit.Create(self);
if not Assigned(Form1) then
Form1 := TForm1.Create(Application);
EditC1[1]:=Form1.C1;
 
我的form1已经在运行,这样没有报那个错了,但form1运行了两次,不知该如何解决。
 
EditC1[1]:=TDBEdit.Create(self);
if not Assigned(Form1) then /// 加上这两句就可以了。
Form1 := TForm1.Create(Application);
EditC1[1]:=Form1.C1;
 
我已经加上了才出现两个的。
 
那是因为你在这段代码后面有创建 FORM1 窗体,这段代码是肯定没有问题的,你检测其它地方吧!
 
我知道这段代码没问题,问题是我在这段代码之前,已经有创建这个窗体,并对其操
作才触发datamoudle中的该事件,然而我不知在这里为什么窗体变成nil了。实际上内存
是有该窗体的。
 
之前我是用TFormClass(FormClass).Create(Application) 注册类的方式来创建窗体的。
 
多人接受答案了。
 
后退
顶部