【发布时间】:2014-04-30 11:12:45
【问题描述】:
我正在使用 VB6 开发一个项目。我必须添加下载功能。它包含 1 个表单、1 个类模块和 1 个模块(bas)文件。当我将现有模块添加到我的项目中时,它是成功的但是当我尝试将类模块或 frm 文件添加到项目中时,它说 OUT OF MEMORY。很长一段时间以来,我一直在努力解决这个问题,但找不到任何解决方案。
我不能发布任何代码,因为这是一个公司项目。我只能说这是一个包含数千行代码的庞大项目。我尝试添加的模块用于通过 HTTP 下载文件,它访问 Wininet.dll 中的方法。
我不知道项目是否达到了代码行数的最大限制,还是变量的问题。
我听说制作一个 DLL 可以解决这个问题,但我们不需要那个。有人可以帮忙吗?
【问题讨论】:
-
您是否尝试过复制并粘贴到现有(空)模块文件中?
-
所以你的意思是这个项目(一个表格,一个类模块和一个BAS模块)以前工作过?那么当您说“现有模块”时,您指的是哪个文件?当您说“我的项目”时,您指的是哪个项目?最后,你是认真地说整个应用程序有数千行代码在三个文件中吗?这很不寻常。除了将代码分解成更小的文件之外,您可能会有所帮助。
-
@Mark Bertenshaw 你会感到惊讶。我的公司有一些可怕的代码。几个按计划运行的 vb6 程序启动程序,该程序显示一个带有计时器的表单,该表单调用包含数千行代码的单个 bas 文件中的方法......有时在一个函数中。他们不得不分支其中一些项目来为某些边缘情况添加功能,因为 vb6 不允许更多的代码行(删除不适用于边缘情况的行)这样的事情存在,他们让我哭了跨度>
-
我明白这是一个糟糕的情况,但我想让您说的是“什么操作阻止了您的代码运行?”。最佳答案有很好的建议,但我担心你需要提供更多(乏味!)细节。由于您还没有选择答案,看来您还不满意。
-
我想我想让你做的是为这个错误提供一个逐步重现的案例。到目前为止,您在什么时候得到内存不足错误有点模棱两可。在 IDE 中或在运行时执行文件操作?请尽可能详细地编辑原始帖子。
标签: dll vb6 out-of-memory wininet