Foxtable(狐表)用户栏目专家坐堂 → 类型初始化错误


  共有2683人关注过本帖树形打印复制链接

主题:类型初始化错误

帅哥哟,离线,有人找我吗?
kgdce
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:623 积分:6825 威望:0 精华:0 注册:2013/12/17 1:00:00
类型初始化错误  发帖心情 Post By:2021/7/26 20:47:00 [显示全部帖子]

“UserCode”的类型初始值设定项引发了异常。
由于以下错误,检索CLSID为{000209FF-0000-0000-C000-000000000046}的组件的COM类工厂失败:800702e4请求的操作需要提升。 (HRESULT异常:0x800702E4)
原因?

 回到顶部
帅哥哟,离线,有人找我吗?
kgdce
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:623 积分:6825 威望:0 精华:0 注册:2013/12/17 1:00:00
  发帖心情 Post By:2021/7/26 20:56:00 [显示全部帖子]

.NET Framework 版本:4.0.30319.1
Foxtable 版本:2020.5.29.8
错误所在事件:项目,AfterOpenProject
详细错误信息:
The type initializer for 'UserCode' threw an exception.
Retrieving the COM class factory for component with CLSID {000209FF-0000-0000-C000-000000000046} failed due to the following error: 800702e4 请求的操作需要提升。 (Exception from HRESULT: 0x800702E4).
在全局代码中 定义 public _syip as string
AfterOpenProject事件中赋值 _syip = "aa" 就报错

 回到顶部
帅哥哟,离线,有人找我吗?
kgdce
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:623 积分:6825 威望:0 精华:0 注册:2013/12/17 1:00:00
  发帖心情 Post By:2021/7/26 21:15:00 [显示全部帖子]

在win10中可运行,在win7中报错,代码就是上面的
[此贴子已经被作者于2021/7/26 21:15:55编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
kgdce
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:623 积分:6825 威望:0 精华:0 注册:2013/12/17 1:00:00
  发帖心情 Post By:2021/7/26 21:50:00 [显示全部帖子]

发现问题,在全局代码中将这一句注释 Public _app As new msword.application 后正常,这一句有什么问题吗?但在其他电脑中没问题

 回到顶部
帅哥哟,离线,有人找我吗?
kgdce
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:623 积分:6825 威望:0 精华:0 注册:2013/12/17 1:00:00
  发帖心情 Post By:2021/7/26 22:10:00 [显示全部帖子]

能不能加一个word检测的代码?如何能在这个程序中全局代码中能运行 Public _app As new msword.application,而不管word安装是否正确。
[此贴子已经被作者于2021/7/26 22:12:22编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
kgdce
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:623 积分:6825 威望:0 精华:0 注册:2013/12/17 1:00:00
  发帖心情 Post By:2021/7/27 11:13:00 [显示全部帖子]

总结:全局代码中不要给变量赋值,也不要类型初始化,只定义不初始化,到用时再初始化。如Public _app As new msword.application 改为 Public _app As  msword.application 。这样程序开始运行时不会
报错,在使用时 if  _app is nothing then
                                _app = new msword
                             endif
这样,就比较好一些。

 回到顶部