您的位置:程序门 -> vb -> 基础类



vb中不同工程间如何传值?


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


vb中不同工程间如何传值?[已结贴,结贴人:yj8103]
发表于:2007-01-21 12:21:00 楼主
vb中不同工程间如何传值?比如,我在工程1里的一个form里取得的一个变量值如何传给工程2里的一个一个网址后的变量?
发表于:2007-01-21 12:22:141楼 得分:0
因为不熟悉,所以请教各位高手
发表于:2007-01-21 12:24:362楼 得分:0
有点急,所以恳请各位老大指教!
发表于:2007-01-21 13:16:023楼 得分:6
我是这样实现的,
接受命令的form(form2)上放一个隐藏的text(text1),
然后,再在发送参数的form(form1)里使用api函数,查找form2,并查进一步查找到form2-> text1的句柄,然后再使用api函数改变text1的值,而在form2内放置一个timer控件,视情况读取text1的值,若不为空,则认为接受到了命令,并执行下一步操作并把text1清空,以便等待下一条命令

form1         ===传递===>         form2-> text1         ===读取===>           值
                                                         
相关api函数:
findwindow     '根据标题或类来查找窗口
getdlgitem     '根据控件id来获取控件句柄
getwindow       '根据ab控件关系来获取b控件句柄
settext           '设置控件的文本内容

基本上就这样,这个方法的优点是可以一次性传送非常多字符串,缺点是需要timer不断的读取值,如果对程序性能要求非常高的话,势必会有点影响.

虽然分少,可是我打字也很累...多少给点分吧....-.-;;
发表于:2007-01-21 13:44:324楼 得分:0
关键是不在同一个工程里的2个表单之间传值啊
发表于:2007-01-21 15:03:405楼 得分:4
我的笨办法:
1、用命令行启动另外一个工程,另一个工程使用command()取得命令行数据。
2、通过一个中间临时文件转,另外一个工程在需要数据是直接读临时文件,或者用bizshow说的使用定时器控件定时检查临时文件。
其他方法就看你程序具体的运行情况了。
发表于:2007-01-21 15:06:116楼 得分:0
我说的就是不在同一个工程操作啊,
我上面的例子是
form1属于工程1
form2属于工程2
要不然还用api干啥啊,你说呢,你再仔细研究研究,呵呵
发表于:2007-01-21 15:08:437楼 得分:0
有很多方法,   1.临时文件   2.注册表   3.某个内存位置     4.就是我说的,我认为是最妥当的方法,1太费资源,2和3操作太麻烦,而直接用api改其他窗口的内容,而其他窗口一旦发现自己内容被改了,就说明有消息过来了哈...


快速检索

最新资讯
热门点击