R ranyan_tulip Unregistered / Unconfirmed GUEST, unregistred user! 2000-02-17 #1 在Form1的FormCreate中用Create生成二维数组SpeedButton若干个,SpeedButton的OnClick事件全都调用同一过程,在过程中对一全局变量赋值后,调出Form2,但在Form2中取Form1中全局变量的值,却总得到在FormCreate中赋的值,而不是在过程中改变后的值,不知其原因.
在Form1的FormCreate中用Create生成二维数组SpeedButton若干个,SpeedButton的OnClick事件全都调用同一过程,在过程中对一全局变量赋值后,调出Form2,但在Form2中取Form1中全局变量的值,却总得到在FormCreate中赋的值,而不是在过程中改变后的值,不知其原因.
谭 谭俊峰 Unregistered / Unconfirmed GUEST, unregistred user! 2000-02-17 #2 对“却总得到在FormCreate中赋的值”一句不台明白, 如果是指Form2的FormCreate,那你所说的情况, Form2一定是在OnClick事件中动态建立的, 由于执行的先后顺序,就会出现该情况。 先建立Form2, 再对全局变量赋值后, 即可解决。
对“却总得到在FormCreate中赋的值”一句不台明白, 如果是指Form2的FormCreate,那你所说的情况, Form2一定是在OnClick事件中动态建立的, 由于执行的先后顺序,就会出现该情况。 先建立Form2, 再对全局变量赋值后, 即可解决。
W walala Unregistered / Unconfirmed GUEST, unregistred user! 2000-02-18 #4 按他所描述的应该是这样: 1 生成form1form2 2 form1 create事件 生成speedbutton,初始化全局变量 3 单击speedbutton 改全局变量 4 form2中调用全局变量 我认为错误可能在3,改的不是全局变量而是一个同名的局部变量
按他所描述的应该是这样: 1 生成form1form2 2 form1 create事件 生成speedbutton,初始化全局变量 3 单击speedbutton 改全局变量 4 form2中调用全局变量 我认为错误可能在3,改的不是全局变量而是一个同名的局部变量
R ranyan_tulip Unregistered / Unconfirmed GUEST, unregistred user! 2000-02-28 #5 由于外出不能及时回答对各位深感抱歉,主要是这样: Form1设置全局变量G1,G2,在FORM1的FORMCREATE用CREATE生成一数组的BUTTON,并将之ONCLICK:=PROCEDURE1(为一已定义好的过程)、在PROCEDURE1中改变全局变量G1、G2的值并调用Form2,在FORM2的FORMCREATE中接收G1,G2。G1,G2的值却不为在FORM1的PROCEDURE1中改变的值。 与此问题类似的是:在FORM1中对一数据库的记录进行修改、增加等并POST后,关闭此库,在FORM2中重新打开此库,读取记录值,却总是以前的数据,不是刚在FORM1中改变的值。我在库中只设置SECOND INDEX,未设置关键字,故TABLE属性中的CACHEUPDATA 不能用,是不是与此相关?不是,会是啥原因?请指教!
由于外出不能及时回答对各位深感抱歉,主要是这样: Form1设置全局变量G1,G2,在FORM1的FORMCREATE用CREATE生成一数组的BUTTON,并将之ONCLICK:=PROCEDURE1(为一已定义好的过程)、在PROCEDURE1中改变全局变量G1、G2的值并调用Form2,在FORM2的FORMCREATE中接收G1,G2。G1,G2的值却不为在FORM1的PROCEDURE1中改变的值。 与此问题类似的是:在FORM1中对一数据库的记录进行修改、增加等并POST后,关闭此库,在FORM2中重新打开此库,读取记录值,却总是以前的数据,不是刚在FORM1中改变的值。我在库中只设置SECOND INDEX,未设置关键字,故TABLE属性中的CACHEUPDATA 不能用,是不是与此相关?不是,会是啥原因?请指教!
沈 沈前卫 Unregistered / Unconfirmed GUEST, unregistred user! 2000-02-28 #6 1.Easy: 因为Button没有被单击,Procedure过程没有执行,当然g1,g2没改变, 可以用Button1.click,或Procedure(Button1)调用就可以了 2: Table1.Refresh;
1.Easy: 因为Button没有被单击,Procedure过程没有执行,当然g1,g2没改变, 可以用Button1.click,或Procedure(Button1)调用就可以了 2: Table1.Refresh;
M mikecool Unregistered / Unconfirmed GUEST, unregistred user! 2000-02-28 #7 为什么不专门作一个unit交换数据和共用的过程和函数,我觉得用个Gloab.pas是个 很好的方法,不知道各位大虾如何看 用TQuery作数据库是很不错的,特别是C/S还是不要用Table的为妙
I Iknow Unregistered / Unconfirmed GUEST, unregistred user! 2000-03-01 #9 mikecool: Glob.pas是一个好方法, 但封装性不是很好, 象他这样的例子, 其实就简单地将G1, G2封装在Form1里就足够了. 我一般是将一处修改, 多处引用的变量才放到glob.pas里的, 而且最好是 常量变量函数分开成3个pas.(我一般还有一个errcode.pas)
mikecool: Glob.pas是一个好方法, 但封装性不是很好, 象他这样的例子, 其实就简单地将G1, G2封装在Form1里就足够了. 我一般是将一处修改, 多处引用的变量才放到glob.pas里的, 而且最好是 常量变量函数分开成3个pas.(我一般还有一个errcode.pas)
刘 刘志军 Unregistered / Unconfirmed GUEST, unregistred user! 2000-03-01 #10 1. "FormCreate中赋的值" Form1,Form2是否是同一个类(TForm)的两个对象,如果是,则在生存Form2的同时还要对g1,g2赋值. 2.在对数据库操作时,是否注意他的状态、属性了.
1. "FormCreate中赋的值" Form1,Form2是否是同一个类(TForm)的两个对象,如果是,则在生存Form2的同时还要对g1,g2赋值. 2.在对数据库操作时,是否注意他的状态、属性了.
刘 刘志军 Unregistered / Unconfirmed GUEST, unregistred user! 2000-03-14 #12 请问form2是否是动态生成! 如果是在生成form2时,将调用form1.creat(),并将变量重新赋值!