【问题标题】:Error "Out of memory" vb6错误“内存不足”vb6
【发布时间】:2013-01-17 23:08:49
【问题描述】:

我有一个在 IDE 中运行良好的应用程序,但不能以 exe 形式运行。我有日志记录,所以应用程序会在登录表单中生成内存不足错误

  Login.Show vbModal
  Unload Login

在登录加载子程序中,这是我的代码。

m_lsLoginState = Failed
Me.Height = 1815

有没有人知道可能导致错误的原因。 m_isLoginState 是一个枚举变量

Public Enum LoginStates
    Failed
    Succeed
    Quit
End Enum

【问题讨论】:

  • 尽可能发布导致此错误的最少代码量。
  • 模块主子程序Login.SHow vbModal出现错误
  • 登录表单中是否有代码在加载或激活时运行?
  • @Beaner 是的,我把它贴在上面了。赋值给变量,然后改变窗体的高度
  • 提供的代码不可能引发内存不足错误。从一个新项目开始,然后逐行粘贴代码行,直到出现错误。

标签: vb6


【解决方案1】:

我终于找到了问题的原因和解决办法

碰巧正在使用添加到项目资源中的清单文件,因此当应用程序编译时,它将在 windows 主题中显示控件。

然后我注意到主窗体 frmMain 进行了此初始化,而登录窗体首先显示。

m_Shell32 = LoadLibrary("Shell32.dll")
Call InitCommonControls

让我感到困惑的是,编译后的可执行文件已经这样工作了一段时间,没有任何问题。

经过多次调整,我在启动应用程序可执行文件时遇到了另一个错误system error &H80070583 (-2147023485)。此错误表明这是一个明显的问题,导致我找到解决方案

我通过将上面的代码移动到登录表单的初始化来解决问题

感谢大家的帮助

【讨论】:

  • 非常正确,史密斯。为我粗心的帖子道歉,并感谢您指出。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-09-20
  • 1970-01-01
  • 2020-10-15
  • 2014-10-21
  • 2016-10-20
相关资源
最近更新 更多