标题:为何DLL动态链接库函数也无法调用Bas公共模块中定义的“全局结构体数组”的 ...
取消只看楼主
shi781203
Rank: 2
来 自:广东省
等 级:论坛游民
帖 子:112
专家分:50
注 册:2011-3-18
结帖率:37.14%
 问题点数:0 回复次数:0 
为何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
*****************************************************
搜索更多相关主题的帖子: 用户 动态 结构体 
2013-11-23 00:38



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-424049-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.281649 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved