易截截图软件、单文件、免安装、纯绿色、仅160KB

vb异步问题 - VB / 基础类

现在小弟在用vb6.0编写程序,遇到异步的问题,具体如下:
点击按钮A时,调用外部的dll(C++),此dll是同步返回数据。此时如果远程未响应,我的程序界面就会卡死。因此我想到用timer来实现异步 ,但是不清楚具体的实现,希望高手给出相关代码!

引用
不行。异步必须在被调用方实现。

可以采用多线程方式——将外部调用部分用 ActiveX EXE 封装起来。
由主界面调用 ActiveX EXE 马上返回;
ActiveX EXE 稍作延时后调用外部 dll,收到返回数据后再传送给主界面。

参考
http://topic.csdn.net/u/20090227/14/55bf85db-2c84-4c36-9a32-82420bc……

感谢回复,我看看后给你回复!

感觉还是不怎么懂。

感觉有些困难,多线程肯定不可取。

很想知道怎么异步 也就是同时执行2个函数

将需要异步完成的功能单独写成一个工程并生成exe
主程序将异步任务用shell启动,并用命令行参数传递入参,该进程得到结果后将其放在临时文件里面供启动它的主程序读取。主程序如果发现异步任务超时,可用类似shell("taskkill 进程PID")的方法强制结束它。

参考《Unix编程艺术》


相关问答:

vb - VB / 基础类

我想把word另存为xml之后,用vb读取这个xml的内容,请问如何实现?
dim f as integer
dim b() as byte
dim s as string
dim L as long
f=freefile()
open "abc.xml" for binary access read as #f
......

vb读取用word转换成的xml里的数据 - VB / 基础类

Private Sub Command1_Click()
Dim MyString() As String
Open "a.xml" For Binary As #1 ' 打开刚创建的文件。
ReDim MyString(LOF(1) - 1)
  Put #1, , MyRecord ' 读入所有字符到变量中 ......

vb - VB / 基础类

数据库里有一个字段的内容是二进制,怎么才能把这个二进制读出来
使用字节流对象可以实现

例如现在数据库里有个字段的内容是0x504B03040A0000000800407F263C3B02465390000000820000000A0000006273CECACCE22E7478 ......

vb读取xml - VB / 基础类

现在有个xml文件是<?xml version="1.0"?>
<?mso-application progid="Excel.Sheet"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
 xm ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号