VBGood网站全文搜索 Google

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

VB爱好者乐园(VBGood)

 找回密码
 立即注册
搜索
楼主: tgy

封装了一个VB创建多线程的API函数(标准DLL),欢迎试用、测试、提意见!

  [复制链接]
发表于 2014-11-21 23:38:11 | 显示全部楼层
本帖最后由 xmyjk 于 2014-11-22 00:23 编辑

TGY大哥,冒昧打扰,一直跟着您帖子在学习多线程。我可以实现从DLL里回调标准模块里的函数了。但是只要标准函数里面有调用窗体,程序就会崩溃。而用您的实例用dll去调用EXE里面的窗体却很正常。想问问您是怎么解决,能否提供这小部分的代码,实在不方便,您能说说原理么?困扰了好一阵子了。

也都按照您帖子里面提到了,对线程进行初始化。调用dll自身窗体也能实现,就是没法实现调用exe里面的窗体。

点评

tgy
那就按我的例子调用方法调用就不会有问题了,先好好看下我的例子,参照就行了  发表于 2014-11-22 09:56
回复 支持 反对

使用道具 举报

发表于 2014-11-22 21:46:22 | 显示全部楼层
本帖最后由 xmyjk 于 2014-11-22 21:53 编辑

那您能帮我看看代码么?

我是想DLL里面回调工程里面的模块的函数,目前已经实现,
P1.JPG

就是被回调的函数里有使用工程里面的窗体就会崩溃。使用DLL里的窗体倒是没问题,能出现。

代码如下或如附件 try.rar (17.56 KB, 下载次数: 523)

点评

tgy
我对汇编不懂,你还是另请高明吧, 访问窗体崩溃,说明线程初始化没有成功,你再检查下  发表于 2014-11-22 22:43
回复 支持 反对

使用道具 举报

发表于 2014-11-22 23:24:43 | 显示全部楼层
本帖最后由 xmyjk 于 2014-11-22 23:55 编辑

应该和汇编无关把,这个汇编仅是一个高级版的CallWindowProc(啊国哥的),通过函数指针回调函数。
调用DLL自身的窗体,这段代码没有任何问题,能出来,就是调用工程里的窗体才会出问题,非常费解。
似乎是没办法从DLL里访问到工程里面的窗体form2的问题。

点评

你确定VB调用汇编和多线程兼容?  发表于 2014-11-22 23:47
回复 支持 反对

使用道具 举报

发表于 2014-12-15 15:01:10 | 显示全部楼层
呵呵,求人不如求己,已解决。回调非常成功
回复 支持 反对

使用道具 举报

发表于 2016-7-28 20:53:58 | 显示全部楼层
非常给力!dll能开源就好了
回复 支持 反对

使用道具 举报

发表于 2017-12-19 14:01:34 | 显示全部楼层
tgy 发表于 2011-11-30 20:36
最后更新(1.3.0):
增加通过对象和函数名调用线程函数的API使用方式,即线程函数可写在窗体中,并声明为公有 ...

写的真的很好用  楼主我调用的时候  总出现对象打开时不允许操作  可是并不影响使用  麻烦楼主能不能帮忙分析下为什么呢
  或者能否帮忙把那个msgbox去掉   真的十分感谢
回复 支持 反对

使用道具 举报

发表于 2017-12-19 14:01:56 | 显示全部楼层
tgy 发表于 2011-11-30 20:36
最后更新(1.3.0):
增加通过对象和函数名调用线程函数的API使用方式,即线程函数可写在窗体中,并声明为公有 ...

写的真的很好用  楼主我调用的时候  总出现对象打开时不允许操作  可是并不影响使用  麻烦楼主能不能帮忙分析下为什么呢 或者能否帮忙把那个msgbox去掉   真的十分感谢
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2020-7-11 07:10

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