首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VB6内存泄漏

VB6内存泄漏
EN

Stack Overflow用户
提问于 2009-03-23 17:01:45
回答 6查看 3.1K关注 0票数 1

不包含关键字“新建”的VB6程序会有内存泄漏吗?

如果有,请举个例子。

EN

回答 6

Stack Overflow用户

发布于 2009-03-24 08:49:32

总结到目前为止的答案:调用另一个组件可能会导致内存泄漏。该组件可能有buggy,也可能是您误用了它。组件可以是OCX或DLL (包括对Windows DLL的API调用,这是泄漏内存和windows资源的绝佳方法,更不用说许多其他令人兴奋的问题了)。

还有一个需要注意的地方:您可以使用CreateObject创建对象,因此您可以在不使用New的情况下通过circular references泄漏内存。onedaywhen在评论中指出,您还可以在不使用New的情况下使用表单变量创建循环引用。但我认为问题的关键在于,除了循环引用之外,VB6内存泄漏是否还有其他原因。

递归的answer不会导致内存泄漏-引用计数将在每次执行循环时清理内存-请参阅我对答案的评论。

票数 4
EN

Stack Overflow用户

发布于 2009-03-23 17:04:17

您可能正在调用有内存泄漏的第三方DLL。

票数 3
EN

Stack Overflow用户

发布于 2009-03-23 17:04:29

是的,有可能。在我了解特定Windows API调用中的内存泄漏之前,我编写的一个使用透明Blit的VB6程序显示了内存泄漏。因此,尽管泄漏不是在程序本身,而是在VB6在Win32应用程序接口中调用的一个函数中。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/674247

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档