在不同程序间传递全局变量
编号:QA000744
建立日期: 1999年4月2日 最后修改日期:1999年4月2日
所属类别:
lixuemin:
我在编程时碰到了这样一种情况:一个以ORACLE为数据库的CLIENT-SERVER结构的程序,如果开始画面都是一些功能按钮,我要将按钮对应的功能都编译成EXE文件,但这时候我各功能之间由于逻辑的需要,相互之间要传递一些参数,这时这些全局变量该如何设置?同时我初始画面对数据库的打开操作,是否对各功能模块产生影响,如不影响,那该怎么办?
回答:
在不同程序间传递全局变量有多种方法,但功能和简单程度差异很大,这要看你的了。主要的办法有以下几中:
1、主程序用SaveSetting保存变量在注册表中,其它程序GetSetting获得变量值。
2、主程序调用时以命令参数的办法传递给子程序。子程序获得参数的办法参见:QA000595 "如何在VB中加入命令行参数"。
3、使用DDE。这在很多VB的书中有介绍,在帮助文件中也讲得比较详细,虽然DDE有些过时了,但仍然很有效。
4、使用Automation。在VB的Samples\Entrpris目录下有几个例子。
5、使用API的管道(pipe)技术,参见:QA000725 "VC++环境下利用管道和线程实现进程间通信 "。
至于数据库操作是否有影响,如果主程序和子程序同时进行数据库操作可能会产生冲突,但如果主程序完成了数据库操作,而子程序再进行操作,一般不会有什么影响。
此问题由李海回答。
| |
|
|
| |
|
|