窗体加载失败的问题

东方冉 2009-09-17 09:39:49
Public Sub Main()
On Error GoTo errHandle
LogPrint logInfo, "Sub Main", "Before Load frmMain"
Load frmMain
LogPrint logInfo, "Sub Main", "After Load frmMain"
frmMain.Show
Exit Sub
errHandle:
LogPrint logError, "Sub Main", err.Description
End Sub

Private Sub Form_Load()
LogPrint logInfo, "frmMain::Load", "Start"
End Sub


程序在大多数机器上运行没有问题,可是在其中一台winxp sp3的机器上程序无法运行,在代码中加入日志信息后,定位到Load frmMain出错了。出错的日志信息如下:
09-09-16 11:58:58[Info]:[Sub Main] Before Load frmMain
09-09-16 11:58:58[Error]:[Sub Main] Object variable or With block variable not set


这是什么原因造成的?要如何解决?
...全文
134 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tiger_Zhao 2009-09-22
  • 打赏
  • 举报
回复
打包不完整,打包工具只会自动包含工程中直接引用的组件。
a)使用某些控件除了 OCX 还需要其他组件支持。
b)没有直接引用 dll,而是通过 CreateObject() 方式创建对象。
c)如果用 ADO,需要添加 MDAC_TYP.EXE
hanvan 2009-09-21
  • 打赏
  • 举报
回复
看你 form_load 里有什么错吧。。
东方冉 2009-09-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 tiger_zhao 的回复:]
正确做法是做安装包安装。手工复制容易影响其他软件并且无法卸载恢复。
[/Quote]

但是我机器上做出来的安装包,在客户机器上是运行不了的,会出现我前边提到的错误。
09-09-16 11:58:58[Error]:[Sub Main] Object variable or With block variable not set
xredhat 2009-09-17
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 tiger_zhao 的回复:]
正确做法是做安装包安装。手工复制容易影响其他软件并且无法卸载恢复。
[/Quote]

顶了
Tiger_Zhao 2009-09-17
  • 打赏
  • 举报
回复
正确做法是做安装包安装。手工复制容易影响其他软件并且无法卸载恢复。
东方冉 2009-09-17
  • 打赏
  • 举报
回复
有几个组件版本确实不一样,COMCT332.OCX等。
怎么解决呢?把我机器上的文件copy过去覆盖他机器上的?
孤独剑_LPZ 2009-09-17
  • 打赏
  • 举报
回复
这个问题原因很复杂:提示对象无效或无效的块不能设置,看主程序里都引用了什么对象,如excel,如果引用的版本与电脑中excel版本不对照,也会这样
king06 2009-09-17
  • 打赏
  • 举报
回复
再来推荐这个软件:VB-PowerWrap 汉化版
直接自动包含需要的Dll\ocx,生成可执行文件。。。

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧