为何DLL动态链接库函数也无法调用Bas公共模块中定义的“全局结构体数组”的变量?(代码在贴内)请高手指点!
为何DLL动态链接库函数也无法调用Bas公共模块中定义的“全局结构体数组”的变量?请高手指点!以下代码进行编译时总是弹出提示“只有定义在公共对象模块中用户定义类型和变体类型相互转换或传递给后期绑定功能”
********************************************
'公共模块Bas代码 '该公共模块分别在主窗体及调用它的DLL文档中都添加了!
Public Type PaiType '定义一个结构体为PaiType
PaiZhi As Integer
PaiHua As Integer
Pai As Integer
End Type
Public Pais(52) As PaiType '定义了52个结构数组元素用作牌信息
*********************************************
'主窗体代码
Dim DllObj as Object '定义一个Dll动态链接库对象
Dim StrName as String
Private Sub Form_Load()
StrName = "GameLan"
Shell ("regsvr32 " & App.Path & "\" & StrName & ".dll /s") '动态链接库链接
Set DllObj = CreateObject(StrName & ".GameClass")
……
……
……
Call DllObj.XiPaiGuoCheng(Pais) ’执行动态链接库的洗牌过程--实参为结构数组名(编译时代码停在此行的“Pais”中)
End Sub
***************************************************
'动态链接库文件GameLan.Dll代码内的函数
Public Sub XiPaiGuoCheng(Pais_c() As PaiType) '定义洗牌过程--形参为区别实参在结构数名后加了“_c”
……
……
……
End Sub
*****************************************************