非常非常非常奇怪的问题

烟灰 2002-08-13 04:51:05
Public Type tpeNew
strA1 As String
strB1 As String
End Type

Public NN As TpeNew

Public Sub sss(aa As String, ParamArray dd() As Variant)
MsgBox aa
End Function

Public Sub dd()
NN.aa = "fdfdf"
NN.ab = "dfdf"
ccc "fff", bb
End Sub

以上程序均放在模块中,但不能编译,编译时报错是:"只有定义在公共模块中用户定义类型能和变体类型相互转换或传递后期绑定功能",不知是什么原因,
...全文
42 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
rill518 2002-08-13
  • 打赏
  • 举报
回复
關注
烟灰 2002-08-13
  • 打赏
  • 举报
回复
VB 真TMD弱智
sbgsl 2002-08-13
  • 打赏
  • 举报
回复
这个我也不知道.
但是解决了问题不就好了吗
烟灰 2002-08-13
  • 打赏
  • 举报
回复
to: sbgsl(sbg)
但为什么它的错误提示信息是:
“只有定义在公共模块中用户定义类型能和变体类型相互转换或传递后期绑定功能”
sbgsl 2002-08-13
  • 打赏
  • 举报
回复
构造体应该不能付值Variant类型的变量
zhsu 2002-08-13
  • 打赏
  • 举报
回复
NN.aa = "fdfdf"
NN.ab = "dfdf"
sss "fff", NN

这里的错误,很明显嘛!!
sbgsl 2002-08-13
  • 打赏
  • 举报
回复
应该这样才对吧:
Public Type tpeNew
strA1 As String
strB1 As String
End Type

Public NN As tpeNew

Public Sub sss(aa As String, dd As tpeNew)
MsgBox aa
End Sub

Public Sub dd()
NN.strA1 = "fdfdf"
NN.strB1 = "dfdf"
Call sss("fff", NN)
End Sub
烟灰 2002-08-13
  • 打赏
  • 举报
回复
不好意思,我打错了,应该是:
Public Type tpeNew
strA1 As String
strB1 As String
End Type

Public NN As TpeNew

Public Sub sss(aa As String, ParamArray dd() As Variant)
MsgBox aa
End Function

Public Sub dd()
NN.aa = "fdfdf"
NN.ab = "dfdf"
sss "fff", NN
End Sub
烟灰 2002-08-13
  • 打赏
  • 举报
回复
不好意思,我打错了,应该是:
Public Type tpeNew
strA1 As String
strB1 As String
End Type

Public NN As TpeNew

Public Sub sss(aa As String, ParamArray dd() As Variant)
MsgBox aa
End Function

Public Sub dd()
NN.aa = "fdfdf"
NN.ab = "dfdf"
ccc "fff", NN
End Sub
IsMe 2002-08-13
  • 打赏
  • 举报
回复
你大概有一个过程参数是variant类型,调用时却传递了TyeNew类型的变量,这是不允许的,只有当TyeNew定义在公共类模块中时,才允许
射天狼 2002-08-13
  • 打赏
  • 举报
回复
好用呀,我用你的代码试验了,根本没有问题。

7,786

社区成员

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

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