ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 5807|回复: 18

[分享] VB6多线程的资源收集

[复制链接]

TA的精华主题

TA的得分主题

发表于 2017-1-28 00:30 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖已被收录到知识树中,索引项:Windows API应用
本帖收集一些国内外的VB6多线程研究成果
以下所有资料来源于网上,提供原始链接
本人VB6菜鸟一枚,是绝对纯粹的爱好者,仅在office vba中应用一点VB的知识


网址:http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=26900&lngWId=
作者: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
网址2:http://www.vbforums.com/showthread.php?788333
网址3:http://www.vbforums.com/showthread.php?788375
网址4:http://www.vbforums.com/showthread.php?788713
作者:The Trick(俄国的大神,分享的成果不多,但都是大神级)

两个例子:都是用闭源的库实现的多线程
网址1:http://www.vbforums.com/showthread.php?796579
网址2:http://www.vbforums.com/showthread.php?821637
作者: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
作者:Krool
简介:完全开源,代码很简单,IDE下运行稳定,vba下使用OK,编译后就不说了,推荐都玩玩这个看看
          实现方案我看不懂,看代码的简洁程度,应该是脑洞大开之作,作者本人说某些情况也会Crash
         
最后一个ThreadFactory,这个不说了,商业插件,破解版直接看置顶贴
http://www.vbgood.com/thread-141661-1-1.html

张业新的博客有一个多线程的案例,有针对dll的修复,目前还不太完善
我看不懂实现原理,很多脏代码
http://tieba.baidu.com/p/4913934442
代码下载地址:
http://pan.baidu.com/s/1nuAaOdz

TA的精华主题

TA的得分主题

发表于 2017-1-28 10:55 | 显示全部楼层
收藏学习。

TA的精华主题

TA的得分主题

发表于 2017-1-28 12:28 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
学习一下。。。。。

TA的精华主题

TA的得分主题

发表于 2017-1-28 20:30 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
VBA多线程不用试了。首先VBA不存在编译后,所以许多多线程的方式都直接被PASS掉了。
另外就算是VB6中多数的方式都会有很多的缺陷,比如有些不能处理字符串,有些不能使用一些原有的VBA内置函数等……所以在VB6中很少很少看到实用的多线程应用,这一类的也基本只能拿来做为“研究”这唯一的用途。
而比较安全的ActiveX这一方式,由于和VBA基因不和,也就没有试的必要了。

TA的精华主题

TA的得分主题

发表于 2017-1-28 21:42 来自手机 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-1-29 13:28 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
joforn 发表于 2017-1-28 20:30
VBA多线程不用试了。首先VBA不存在编译后,所以许多多线程的方式都直接被PASS掉了。
另外就算是VB6中多数 ...

最后那个dll还可以

TA的精华主题

TA的得分主题

发表于 2017-1-29 14:52 | 显示全部楼层
loquat 发表于 2017-1-29 13:28
最后那个dll还可以

写成Dll,还用得着用VBA写么,直接用.net不更方便,才几句代码就搞定了。

TA的精华主题

TA的得分主题

发表于 2017-1-29 15:08 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-1-29 18:33 来自手机 | 显示全部楼层
joforn 发表于 2017-1-29 14:52
写成Dll,还用得着用VBA写么,直接用.net不更方便,才几句代码就搞定了。

可惜我只会vb6,有人用vb6写了dll我拿来就用

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-1-29 18:36 来自手机 | 显示全部楼层
joforn 发表于 2017-1-29 14:52
写成Dll,还用得着用VBA写么,直接用.net不更方便,才几句代码就搞定了。

难得逮到机会请教一下,这个帖子您怎么看?
http://www.vbgood.com/thread-141405-1-1.html
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-3-28 23:15 , Processed in 0.047923 second(s), 9 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表