在两个可执行文件之间实现数值的传递,对vb来说,需要借助API。API实现太烦琐,我并不喜欢,我想你也不喜欢,而且不稳定,是通过跨过本程序的内存,vb程序直接去读delphi程序运行时内存的数据。因为你的哪个delphi程序已经是完成的了。如果不想费太大工夫修改,我可以给你说个简单的方法。通过对临时文件同步处理来实现。你可以让两个程序生成临时文件来保存数据。如果是两个程序都一直运行。数据一直传输两者之间的话,可以这样:
vb程序在1、3、5、7、9秒时打开 data1.temp
在2、4、6、8、0秒时打开data2.temp
delphi程序在 1、3、5、7、9秒时打开data2.temp
在2、4、6、8、0秒时打开data1.temp
记得数据要简练,读取完毕。马上关闭。如果感觉时间不够用。可以两秒读一次。这种方法在山东鲁能电子集控上用的这种方法。还是比较可以的。对文件操作的事件,应该不关数据是否处理完毕、都要按时发送、可以发送空值。但也要准时发送。数据处理好,也要等一秒后发送,在vb里可以这样,使用哪个时钟控件timer定义一秒种。
sub timer_timer()
if second(now) mod 2=1 then '这里用奇数秒来读取数据
open"data1.temp" for input as #22
input #22,datatemp ‘你要把所传的数据最好制作成编码的方式。这样有利于提高速度
close #22
end if
end sub