首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >初始化2D数组时运行时错误5

初始化2D数组时运行时错误5
EN

Stack Overflow用户
提问于 2019-08-15 01:55:50
回答 2查看 380关注 0票数 1

我一直在使用Arr=Array(Array(),Array())初始化一个2D数组。

但是我发现运行时错误5-无效的过程调用或参数将被触发。

这些代码已经使用多年,昨天出现了问题,所以我认为这可能是MS Office或Windows的一些更新的结果。

Windows :Windows10、7存在错误,但Windows .不存在此错误

若要再现错误:

代码语言:javascript
运行
复制
Sub foo()
  Dim Arr As Variant
  Arr = Array(Array(), Array())
End Sub
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-08-15 12:41:50

这是因为微软在2019年8月13日(https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2019-1182)推出的安全更新中发现了一个漏洞。

查找与Windows版本相关的KB编号并键入(32/64位)并卸载更新。这将解决这个问题。

微软正在考虑修复更新中的错误。

更新

微软刚刚发布了一个补丁:https://support.microsoft.com/en-us/help/4517298/windows-8-1-update-kb4517298

票数 4
EN

Stack Overflow用户

发布于 2019-08-18 00:36:47

有一个用于创建空数组的解决办法

您可以使用SafeArrayCreateVector API-函数。

代码语言:javascript
运行
复制
Private Declare Function EmptyVariantArr Lib "oleaut32" _
  Alias "SafeArrayCreateVector" (Optional ByVal VT As VbVarType = vbVariant, _
  Optional ByVal LB& = 0, Optional ByVal cElements& = 0) As Variant() 

Dim A()
A() = EmptyVariantArr 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57504012

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档