请教一个数组下标越界的问题!

wxl565 2011-03-04 09:59:02
在DLL文件中定义结构体
Type p
X As Single
Y As Single
End Type
Type da
a() As p
end type
在模块中声明
Public data() As da

问题:当我在事件中想使用数组时:redim data(0).a(0) 提示我 下标越界!求帮助。
...全文
96 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangzhum 2011-03-05
  • 打赏
  • 举报
回复
学习,学习了
chinaboyzyq 2011-03-04
  • 打赏
  • 举报
回复

'你这样定义的用法如下:
ReDim data(0)'要先定义这个
ReDim data(0).a(0)'才能定义这个
东方之珠 2011-03-04
  • 打赏
  • 举报
回复
看你的定义像是座标对,直接这样定义:
Type p
X As Single
Y As Single
End Type
a() As p

ReDim a(10)
a(0).X=10:a(0).Y=20






神马都能聊 2011-03-04
  • 打赏
  • 举报
回复
你可以在代码顶部加上这一行代码。


Option Base 0
wxl565 2011-03-04
  • 打赏
  • 举报
回复
???有人帮忙否
王二.麻子 2011-03-04
  • 打赏
  • 举报
回复
类型da里面的a()没有定义大小,就好像C里面的,它不过是个指针,指到什么地方都没说。。。

就好像:
dim a() as 。。。
。。。
redim a(12) as 。。。
a(0)=。。。

你的可以:

Dim d As da
Dim xx() As p

ReDim xx(10)

d.a = xx
d.a(0).X = 1

7,763

社区成员

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

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