gpt4 book ai didi

vb.net - 内存不足,无法继续执行程序

转载 作者:行者123 更新时间:2023-12-04 07:04:47 27 4
gpt4 key购买 nike

我的应用程序 (Vb.net, Access 2003/2007) 是扫描 Access 数据库文件中的 Activex 控件并相应地生成报告。

问题:

得到如下错误:

“内存不足,无法继续执行程序。”

扫描 Office 2000 之前版本的 Access 文件时会出现上述错误。

我得到的代码行如下:

Dim oForm As Access.Form
Dim oAccess as Access.Application

oForm = oAccess.Forms(objForms.Name)

但它也会打开文件和表单。

需要帮忙:

是否可以读取文件( Access 表单和报告)?

请给我提供引用或任何解决方案。

最佳答案

您似乎在执行 Access 的 COM 自动化以打开窗体,然后在它们的控件中循环查找某些属性。

另一种解决方案还涉及自动化 Access ,但它不需要实际打开表单,这是未记录的 Application.SaveAsText 命令。你会做这样的事情:

  Application.Saveastext acForm, "dlgWebBrowser", _
"C:\Output\dlgWebBrowser.txt"

然后,您必须弄清楚该文件中是如何描述 ActiveX 控件的。如果该文件看起来像 VB 表单的代码,那是因为这正是它的本质。

上面的例子有一个 IE web 浏览器控件,在转储 OLE 数据后,它有这个:
  OLEClass ="Microsoft Web Browser"
Class ="Shell.Explorer.2"
GUID = Begin
0x54c1ea41936d2046b9dc5b29905976e3
End

我希望所有 ActiveX 控件都有一个 OLEClass,但我原则上避免使用 ActiveX 控件,因为如果在您尝试运行应用程序时未正确安装它们可能会导致问题。

事实上,这可能是问题的根源——如果您在没有注册相关 ActiveX 控件的机器上打开 Access 表单,它将失败,并且表单将无法打开。

我敢打赌 Application.SaveAsText 将完全回避这个问题,因为不必打开表单。

关于vb.net - 内存不足,无法继续执行程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1277200/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com