标题:vb6 调用自编的activex dll 文件,在编辑状态下运行正常,但编译成EXE文件后 ...
只看楼主
张六先生
Rank: 2
等 级:论坛游民
帖 子:35
专家分:20
注 册:2022-9-11
结帖率:71.43%
已结贴  问题点数:20 回复次数:5 
vb6 调用自编的activex dll 文件,在编辑状态下运行正常,但编译成EXE文件后,就死机了。什么原因?
自编 ActiveX dll 文件,用标准EXE 文件调用。
EXE 文件代码:
        类模块. 类名
Public d As New yidata.dtable
 d.cdd ma,mb

DLL 文件代码:
public sub cdd(ma,mb)

end sub
在编辑状态时运行正常,但在编译成EXE 文件后,就死机了。

请各位在师指点。谢谢!!!

搜索更多相关主题的帖子: dll 文件 EXE 编译 运行 
2023-04-19 12:59
东海ECS
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:Python
等 级:版主
威 望:19
帖 子:376
专家分:1454
注 册:2023-1-24
得分:7 
可能是由于编译器的优化设置不当导致的问题。在开发工具的调试模式下,代码运行时使用的是最小化的优化设置,而在编译为可执行文件时,则可能根据编译器的默认设置使用更高级别或者不同类型的优化。这些优化操作可能会导致程序崩溃或死机,尤其是在与COM组件的交互时。

解决这个问题的一个方法是在编译时禁用优化,或者尝试调整编译器的优化设置以适用于与COM组件的交互。 在VB6中,可以通过在项目属性的“编译”选项卡中设置“优化代码”选项来控制编译器的优化设置。

另外,还有可能是因为COM注册不正确,导致调用时出现问题。 在尝试上述优化设置后仍然无法解决问题时,可以尝试重新注册COM组件。 可以使用regsvr32命令来重新注册COM组件。 例如,要重新注册名为“yidata.dll”的组件,可以在命令行中运行以下命令:

regsvr32 yidata.dll


如果仍然无法解决问题,建议使用其他调试工具来进一步调查问题。





会当凌绝顶,一览众山小.
2023-04-19 19:26
独木星空
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:河北省曲阳县
等 级:版主
威 望:57
帖 子:713
专家分:556
注 册:2016-6-29
得分:7 
回复 2楼 东海ECS
看来,想学好一门编程不容易,为:东海ECS先生点赞!

素数问题的解决是我学习编程永恒的动力。
2023-04-20 20:40
东海ECS
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:Python
等 级:版主
威 望:19
帖 子:376
专家分:1454
注 册:2023-1-24
得分:0 
以下是引用独木星空在2023-4-20 20:40:52的发言:

看来,想学好一门编程不容易,为:东海ECS先生点赞!

是的,学习任何一门编程语言都需要一定的时间和精力,需要掌握语言的语法、编程思想和常用的库函数等。更重要的是,编程是一种实践,需要不断地写代码来锻炼自己的编程能力和思维方式。

在学习编程时,可以采取以下几种方法来提高效率和质量:

1.掌握基础知识:编程语言的基础知识对于学习和掌握一门语言非常重要,包括语法、数据类型、控制流程和函数等。

2.实践编程:写代码是提高编程能力的最佳方法,通过实践可以加深对语言的理解,掌握常用的库函数和算法。

3.查阅文档:编程过程中常常遇到不懂的问题,可以查阅官方文档、API文档和在线论坛寻找答案。

4.与他人交流:与其他编程者交流经验、分享代码和解决问题可以加速自己的学习过程,同时也可以结交更多志同道合的人。

所以,学习编程是一项长期的、不断进步的过程,需要投入足够的时间和努力,定期检查自己的进展和改进方向。坚持下去,你会发现编程带来的乐趣和成就感。

会当凌绝顶,一览众山小.
2023-04-21 19:04
独木星空
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:河北省曲阳县
等 级:版主
威 望:57
帖 子:713
专家分:556
注 册:2016-6-29
得分:0 
回复 4楼 东海ECS
东海ECS先生体会很深!

素数问题的解决是我学习编程永恒的动力。
2023-04-21 20:40
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:7 
最近看到一个文章,说了一句话,学习一门语言,光学语言是不够,还要学编译器的参数,特别是优化选项等等。
注:那遍文章是讲如何减少编译后的可执行文件大小的,虽然不明觉厉,因为不太懂C++。

授人于鱼,不如授人于渔
早已停用QQ了
2023-04-22 18:05



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-511968-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.052678 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved