VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)

VB爱好者乐园(VBGood)

 找回密码
 立即注册
搜索
查看: 1640|回复: 5

[推荐] VB6多线程的资源收集

[复制链接]
发表于 2016-12-8 00:36:35 | 显示全部楼层 |阅读模式
本帖收集一些国内外的VB6多线程研究成果
以下所有资料来源于网上,提供原始链接
本人VB6菜鸟一枚,是绝对纯粹的爱好者,仅在office vba中应用一点VB的知识


网址:http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=26900&lngWId=1
作者:Srideep Prasad(未经考证确认)
简介:一份最古老的多线程资源,多线程组件的源码,附带DEMO和使用说明
          只能生成exe后使用,IDE下很容易崩溃
          代码在网址下方可以下载

微软官方推荐的单元线程,老马(嗷嗷叫的老马)给了应用例子
这种方案在IDE下是不崩溃的,只不过要编译后才有多线程
http://www.m5home.com/bak_blog/article/54.html
http://www.m5home.com/bak_blog/article/65.html

网址:http://download.csdn.net/download/Modest/925790
作者:魏滔序
简介:一个闭源的VB6库,找老魏确认多次,该份源码已经丢失了,连当时的实现思路都不记得了
         在VB6 IDE下可以稳定运行(只要你不手贱点暂停/停止按钮),当然编译后也稳定运行
         只是要在vba中使用就有点麻烦

          
然后其实还有一些成果,国内外的高手们纷纷亮剑,各种实现方案,其中很多我也都试过,比较多没法一一列举

这个值得一提:http://tieba.baidu.com/p/1127986404
10楼 test1972的方案
1.建立Active Exe工程,设成1对象1线程,ActiveX组件模式
2.建立类模块,类模块中添加函数,显示workerForm
3.主线程即vb主窗口线程 CreateObject
4.主线程即vb主窗口线程 showWorkerForm
5.主线程即vb主窗口线程 showWorkerForm中
(类模块的函数,传入线程参数,并设置异步Timer,释放主线程,异步Tiemr启动workerForm,进入workerForm线程函数)
这个过程我是没能力模仿,不过应该本坛大部分人都能理解
例子我想应该就是这个:http://www.pudn.com/downloads85/sourcecode/windows/ipc/detail325913.html

网址1:http://tieba.baidu.com/p/3616346086 下载地址见2楼
网址2:http://tieba.baidu.com/p/3542191861
作者:hhyjq007(贴吧ID),秋枫萧萧(本坛ID)
简介:这份成果相当于一个集大成的东西,不同于单元线程,这是真的多线程
      利用了本坛老汉的研究成果,编译成exe后的确挺稳定,有效果,在IDE下运行本人电脑上比传统方式还要慢一些
      所以在vba下使用是没有意义的,希望有人能改变我的观点,这个代码其实我很喜欢,使用上也最简单

以下是国外论坛的大神写的系列贴,总结了VB6实现多线程的几种方案,各方案的利弊文章中都有写,其中似乎不含单元线程
具体内容我还没有认真拜读过,先分享在此,有兴趣的可以参看一下,难为人家将原来的俄文翻译成英文发帖
网址1:http://www.vbforums.com/showthread.php?788327-VB6-Multithreading-in-VB6-part-1
网址2:http://www.vbforums.com/showthread.php?788333-VB6-Multithreading-in-VB6-part-2-the-creation-of-Native-DLL
网址3:http://www.vbforums.com/showthread.php?788375-VB6-Multithreading-in-VB6-part-3-DLL-injection
网址4:http://www.vbforums.com/showthread.php?788713-VB6-Multithreading-in-VB6-part-4-multithreading-in-Standart-EXE
作者:The Trick(俄国的大神,分享的成果不多,但都是大神级)

两个例子:都是用闭源的库实现的多线程
网址1:http://www.vbforums.com/showthread.php?796579-VB6-Threading-using-the-small-DirectCOM-dll-HelperLib
网址2:http://www.vbforums.com/showthread.php?821637-VB6-Threading-Examples-using-the-vbRichClient5-ThreadHandler
作者:Olaf Schmidt(vbRichClient5这个库的作者,这个库应该都听说过吧)
简介:分别使用DirectCOM和vbRichClient5实现的多线程,IDE下都稳定,只是使用上略有点麻烦,具体你看过就知道
PS. DirectCOM这个库其实还是蛮好用的,用于不注册调用COM的dll
      当然了,不注册调用dll(不一定COM)的实现方案太多了,这个相对而言也不是最高级的
      例如:Paul Caton的cCallFunc2.cls类,单类模块,支持stdcall,cdecl,fastcall

网址:http://www.vbforums.com/showthread.php?830765-VB-Multithread-Library-(Generic-Multithreader)
作者:Krool
简介:完全开源,代码很简单,IDE下运行稳定,vba下使用OK,编译后就不说了,推荐都玩玩这个看看
          实现方案我看不懂,看代码的简洁程度,应该是脑洞大开之作,作者本人说某些情况也会Crash

          
最后一个ThreadFactory,这个不说了,商业插件,破解版直接看置顶贴
http://www.vbgood.com/thread-141661-1-1.html
 楼主| 发表于 2016-12-8 00:37:59 | 显示全部楼层
本帖最后由 loquat 于 2016-12-8 00:39 编辑

深夜自沙,睡觉
我只是个来分享的菜鸟,看在我分享精神可嘉,别打击我了
本坛随便抓一个懂VB的都比我强N倍
欢迎指点教育,各位
回复 支持 反对

使用道具 举报

发表于 2016-12-8 17:19:08 | 显示全部楼层
很好的集合贴。
多线程玩玩可以,真正应用,稳定性是一大考验。
回复 支持 反对

使用道具 举报

发表于 2016-12-18 12:50:41 | 显示全部楼层
很好的集合贴。
标记学习
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-12-26 23:55:01 | 显示全部楼层
今天才知,老魏那个MT32.dll是参考了PSC那个开源代码的核心部分
外加这篇文章的前两个点:
http://blog.csdn.net/Modest/article/details/2423391
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-1-4 22:11:41 | 显示全部楼层
张业新的博客有一个多线程的案例,有针对dll的修复,目前还不太完善
我看不懂实现原理,很多脏代码
http://tieba.baidu.com/p/4913934442
代码下载地址:
http://pan.baidu.com/s/1nuAaOdz
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

文字版|手机版|小黑屋|VBGood  

GMT+8, 2017-9-26 01:06

VB爱好者乐园(VBGood)
快速回复 返回顶部 返回列表