vba - MDIForm 在新计算机中给出错误 7 内存不足,但在旧计算机中没有
问题描述
可以在多台计算机上完美运行的MDIForm应用程序在新计算机上无法运行。我不是 100% 确定,但我认为它是基于Visual Basic 6构建的。
该应用程序在您只有一个表单时工作,问题是当您打开多个表单时。然后它给出以下消息:
执行期间错误7:内存不足
这个应用程序很旧,所以我没有源代码,也没有办法联系程序员。它有一个小型安装程序,因此如果该应用程序在其他计算机上运行而在新计算机上却没有,则它安装的库之一可能已损坏。我需要的是找到哪个库给我带来问题并下载它,以检查问题是否已解决。
一个cabinet里面有几个dll和ocx文件,是Windows的无损压缩文件。我在 Google 上搜索所有文件,这里是列表:
注意:删除那些甚至不存在于应用程序工作的计算机中的那些,将它们添加到消息的末尾
COMCAT.DLL -> 与 Microsoft(R) Windows NT(R) 操作系统相关的模块
oleaut32.dll -> 包含核心 OLE 函数的库
RICHED32.DLL -> 包含富文本编辑控件功能的模块
stdole2.tlb -> 定义您可以使用的某些接口和类型
你知道会发生什么吗?谢谢你的时间。
问候,
大卫
编辑 1:添加了所有搜索。我正在新计算机中尝试“sfc /scannow”以检查它是否已神奇地解决,但我不这么认为。有任何想法吗?任何帮助将不胜感激
编辑 2:sfc /scannow 发现问题,但应用程序仍然无法工作。我现在正在尝试将它安装在带有 Virtual Box 和 Windows XP的虚拟机中,但我总是遇到同样的错误。
编辑 3: 我试图使用安装程序来覆盖应用程序工作的计算机中的 DLL 。好吧,该应用程序仍然像魅力一样工作,所以现在我完全迷失了,我不知道我还能做什么。我试图在应用程序无法运行的计算机上安装最后一个 .NET ,但它仍然无法运行。如果它在那之后起作用,那将毫无意义,但我不知道现在该尝试什么。
编辑:在应用程序工作的计算机中甚至不存在的其余文件:
asycfilt.dll -> Microsoft OLE 使用的模块(对象链接和嵌入)
CMDLGES.DLL -> Microsoft Corporation 创建的 DLL 文件
comdlg32.ocx -> 用于显示常见对话框,如打开或保存
cpvCoolList.ocx -> 不知道,可能是富列表框什么的
DAO350.DLL -> 与 Microsoft® Jet 关联的模块
DiCtrlTransp.ocx -> 不知道
expsrv.dll -> 包含与 VBA 运行时一起使用的函数的文件 - 表达式服务
FLXGDES.DLL -> 由 Microsoft Corporation 创建的 MSFlexGrid 使用
FM20.DLL -> 为应用程序提供创建表单功能的模块
MDAC_TYP.EXE -> 与 Microsoft(R) Windows (R) 2000 操作系统相关的进程
msado21.tlb -> Microsoft ActiveX 数据对象库
MSCC2ES.DLL -> 与 Microsoft 的 MSCANDUI 服务器 DLL 关联的模块
MSCMCES.DLL -> ActiveX Windows 通用控件
mscomct2.ocx -> ActiveX 控件模块,包含 Windows 使用的常用控件,如 Animation、UpDown、MonthView、DTPicker 和 FlatScrollBar 控件
mscomctl.ocx -> ActiveX 控件模块,包含 Windows 使用的常用控件,例如 ImageCombo、ImageList、ListView、ProgressBar、Slider、StatusBar、TabStrip、ToolBar 和 TreeView 控件
msflxgrd.ocx -> Microsoft FlexGrid 控件
MSJET35.DLL -> Microsoft Jet 数据库引擎的主要组件,用于评估和执行数据请求。该文件处理 Microsoft Access 数据库数据的读取和写入。对于非本机数据,该文件调用 ODBC 驱动程序管理器 DLL 或外部可安装 ISAM DLL 之一
MSJINT35.DLL -> 不知道
MSJTER35.DLL -> Microsoft Jet Engine 正确运行所需的模块。该文件为 Microsoft Jet 数据库引擎提供错误服务
MSRD2X35.DLL -> 不知道
MSREPL35.DLL -> Microsoft Internet Ratings and Local User Management 使用的模块
msvbvm60.dll -> Microsoft Visual Basic 虚拟机的模块
MSVCRT40.DLL -> 包含标准 C 库函数(如 printf、memcpy 和 cos)的模块。它是 Microsoft C 运行时库的一部分
olepro32.dll -> 包含核心 OLE 函数的库
Photo.ocx -> 属于 Facebook Photo Uploader 4 的模块,来自 Facebook
RCHTXES.DLL -> RichText 控件的一部分。ES 是“Español”还是西班牙语?
RICHTX32.OCX -> Microsoft 富文本 OLE 控件的模块,并为 TextBox 对象提供高级编辑功能
ST6UNST.EXE -> 与 Microsoft Corporation 的 Microsoft® Visual Basic for Windows 关联的进程
TABCTES.DLL -> 属于 Microsoft 的“Biblioteca de objetos”(对象库)TabCtl32 的模块
TABCTL32.OCX -> ActiveX 控件模块,其中包含用于选项卡式对话框控件的 SSTab 控件
VB5DB.DLL -> Visual Basic ICursor 接口库
VB6ES.DLL -> Microsoft Corporation 创建的“Recursos internacionales del entorno Visual Basic”(Visual Basicl 环境国际资源)使用的 DLL 文件
VB6STKIT.DLL -> 包含应用程序编程接口 (API) 函数的模块,这些函数使 Visual Basic 应用程序能够以编程方式创建快捷方式(Shell 链接)
vbajet32.dll -> 包含应用程序编程接口 (API) 函数以加载 Visual Basic for Applications 开发环境的模块
解决方案
在检查了应用程序工作的计算机中安装的所有程序后,我意识到我没有安装 Office 2003。即使我认为没有任何意义,我也尝试安装它,现在......应用程序工作正常。这怎么可能?有谁知道会发生什么?是否有任何日志我可以检查以查看发生了什么变化?
无论如何,它现在有效,感谢大家阅读我。
推荐阅读
- c# - C#逐行写入文件
- javascript - 为什么 console.log((!+[]+[]+![]).length) 给出 9?
- java - 仅将 ID 添加到数据库中,而未添加用户名、电子邮件、密码
- jena - 在 Jena API 中,如何使 addLiteral 变得更加复杂?
- javascript - 按一次链接时隐藏链接中的图像
- python - 将字符串转换为包含字典的数组
- python - Python迭代地将整数添加到列表中的字符串
- react-native - 如何在本机反应中绘制服装数量的正方形?
- java - 如何在 JButton 中设置文本颜色?
- xml - ForEach 列表的每一行获取字符串,在 XML 中搜索特定节点并使用 Powershell 删除父节点