¥¥¥¥¥¥怎样在一个FORM中更改其他FORM中特定控件的值¥¥¥¥¥¥(100分)

  • 主题发起人 主题发起人 LUCKWZY
  • 开始时间 开始时间
L

LUCKWZY

Unregistered / Unconfirmed
GUEST, unregistred user!
我想要在几个放有DB控件(DBEDIT,DBCOMBOBOX,DBGRID)的FORM中,从其中一个FORM
中的特定事件改写其他FORM中特定控件的值,每次调用系统都会报错?

例:在FORM1的中BOTTOM1.CLICK
PROCEDURE FORM1.BUTTOM1CLICK(Sender: TObject);
var order_form:tform2;
begin
order_form:=tform2.Create(self);
order_form.ShowMODAL;
END;

当FORM2--order_form显示时,再调用FORM2中的BUTTOM1.click事件

PROCEDURE FORM2.BUTTOM1CLICK(Sender: TObject);
begin
  Form1.dbedit1.text:='abc' ///系统总是报错,怎样解决急!!!!
END;
 
1)use form1没有?

2)可以修改数据集的值啊
 

ok! already use form1.

我现在就是修改数据集的值,但这样做不论在三层或二层都有不少弊病!
 
不要动态创建form2看看。
 
把错误信息给贴出来!
 
试了一下,单纯上面的程序没有问题.
可能是因为修改数据集出错.
 
有两种方法:
1、把所有数据集控件放在一个datamodule中,并在程序一开始就加截它,这样就不存在
 更改数据值时数据集控件不可用而导致的错误!(我比较推荐这种方法,也是一个编程
  的好习惯!)
2、万不得以的情况下用全局变量!
  
 
多人接受答案了。
 

Similar threads

后退
顶部