编译错误

Carlven2012 2015-08-30 08:41:17

Option Explicit
Private Type POINT
X As Long
Y As Long
End Type
Dim arr As Dictionary
Dim pt As POINT

Private Sub Form_Load()
Set arr = New Dictionary
End Sub

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
pt.X = X
pt.Y = Y
arr.Add CStr(Now), pt
End Sub

Private Sub Form_Unload(Cancel As Integer)
Set arr = Nothing
End Sub

求支招,怎么解决这个问题。
...全文
92 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tiger_Zhao 2015-08-31
  • 打赏
  • 举报
回复
必须把结构POINT定义到tlb中(关键是有了公共的GUID),才可以作为Dictionary的成员。
舉杯邀明月 2015-08-31
  • 打赏
  • 举报
回复
把你的:  arr.Add CStr(Now), pt 改成类似这样: arr.Add CStr(Now), pt.X & "|" & pt.Y Dictionary对象的add方法,第二个参数不可以直接用“结构体”吧。
Carlven2012 2015-08-30
  • 打赏
  • 举报
回复
引用 1 楼 caozhy 的回复:
POINT是VB关键字,修改为POINTAPI pt.X = X 前面加上 Set pt = New POINTAPI
不是吧。我只是随便举的一个例子,意思是我其实是想添加自己定义的一个类型,但是不行。 你那个会出现错误: 无效使用New关键字!
threenewbee 2015-08-30
  • 打赏
  • 举报
回复
POINT是VB关键字,修改为POINTAPI pt.X = X 前面加上 Set pt = New POINTAPI

7,763

社区成员

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

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