窗体间数据同步的问题(100分)

P

ppp

Unregistered / Unconfirmed
GUEST, unregistred user!
一个应用程序,同时创建了三个窗体Form1,Form2,Form3,我要在Form2和Form3中对Form1
的数据进行修改,如何使他们同步,即不会同时修改同一个数据。
 
bookmark能搞定同步?
我建议楼主看看TEvent类的帮助.
 
可以在Form1中设定1个全局变量,在Form2及Form3中分别有一个DataSource与Form1的
DataSet相连,若DataSource发生OnDataChange事件,则将它设为2或3,如Form2中对数据
进行了编辑,则其DataSource的DataChange事件中设全局变量为2,在 Application 的
OnIdle事件中对此全局变量进行检查,如为2,则将3中的DataControls设为Disable,
如为3,则将2中的DataControls设为Disable即可!
 
yanghaijun: 如果Form2和Form3同时对这个全局变量进行修改呢?
 
>>如果Form2和Form3同时对这个全局变量进行修改呢?
如何在一个线程里,同时对两个Form操作?本人愚钝,愿闻其详!
 
你可以创建一个临界对象先,以防止同时对全局变量的修改...
另外我上面说的可能不准确,这两个DataSource的DataChange事件会同时发生,
为此,你最好不要使用数据敏感控件,这样,你可以从容控制这两个Form...
 
Dephic:我在Form1中Create Form2和Form3,Form2和Form3创建以后,会不定时
的修改Form1中某项数据,有没有可能同时发生呢?
 
创建临界对象可以保证你数据不会被同时修改...
 
最好不要在Form.Show中修改,而应该使用Form.ShowModal来修改数据。
安全可靠。
 
顶部