| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 441 人关注过本帖
标题:为何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
快速回复:为何DLL动态链接库函数也无法调用Bas公共模块中定义的“全局结构体数组 ...
数据加载中...
 
   



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

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