在VB下如何实现多线程?

w_sun 2000-12-14 11:30:00
近日,我在编写一个数据库应用程序时,遇到一个多线程的问题,我想调用API函数CreateThread,但是所编的线程函数中要传递一个字符串参数,小弟不才,多次试验没有成功,想请哪位贤兄指点一二,本人不胜感激!
E-mail:yc_wsun@10mail.net
...全文
236 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
JamesDT 2000-12-15
  • 打赏
  • 举报
回复
我在VB中写了一个线程类,可以完成基本的多现程功能。
你可给我来信,我可将源码发给你,不过在VB中调试要小心,最好是在NT下调试!
呵呵
my email: appledt@21cn.com
shyguy 2000-12-15
  • 打赏
  • 举报
回复
可以给我一份吗?
wxj_lake 2000-12-15
  • 打赏
  • 举报
回复
看一下这里:http://210.75.132.33/lakes/detail.asp?id=45
一个初步的用VB写“多线程”程序的例子。
taolei 2000-12-14
  • 打赏
  • 举报
回复
VB本身做多线程是不稳定的,你的要求可以用一个ActiveX EXE来实现。
Fxx 2000-12-14
  • 打赏
  • 举报
回复
以下是个例子,从1显示到100当50时调用Win95的计算器,计算器运行完后再接着显示。
参考一下吧
Dim intCount AS Integer
Dim lonStatus As Long

Dim lonProcHandle As Long

Dim strCmdLine As String
Dim udtProcessInfo As PROCESS_INFOMATION
Dim udtStartupInfo As STARTUPINFO
strCmdLine = "C:\Win95\calc.exe"
udtStartupInfo = Len(udtStartupInfo)
Fot intCount = 1 to 100
print intCount
if intCount = 50 then
lonStatus = CreateProcess(vbnullstring,strCmdLine,0,0,1,&H40,0&, _
vbnullstring,ndtStartupinfo,udtProcessinfo)
lonProcHandle = udtProcessinfo.hprocess
lonStatus = WaitForSingleObject&(lonProcessHandle,-1)
LonStatus = CloseHandle&(lonProcessHandle)
end if
next intCount
shyguy 2000-12-14
  • 打赏
  • 举报
回复
(1)如果你的vb程序具有用户界面的话,不使用第三方控件,vb6是无法创建多线程的.

(2)传递字符串参数可以byval传递.
例如:传递一个buffer的地址给函数APIfunc()来获得一些信息可以这样做:
dim szbuffer as string
szbuffer=space(255)
call APIfunc(szbuff)
就可以了.
记得APIfunc()的Declare中参数定义为byval.
bcrun 2000-12-14
  • 打赏
  • 举报
回复
看你的要求好象难度不高,用VB应能稳定做到。
好在VB7中有线程对象了

33,007

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧