首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

控件作为参数向DLL中传递的有关问题

2012-01-19 
控件作为参数向DLL中传递的问题DLL中类A:Private WithEvents rptReportGrid As XtremeReportControl.Repor

控件作为参数向DLL中传递的问题
DLL中类A:

Private WithEvents rptReportGrid As XtremeReportControl.ReportControl

Public Function SetReportStyle(desReport As Object) As Boolean
  If TypeName(desReport) = "ReportControl" Then
  Set rptReportGrid = desReport
  Else
  Exit Function
  End If
End Function


EXE中Form1:

Private x as A

Private Sub Form_Load()
  Set x=New A
  A.SetReportStyle Me.rptReport '调用该方法时报类型不匹配错误,错误源是DLL中红色的那句
End Sub

说明:
Me.rptReport 是XtremeReportControl.ReportControl控件,类型名为ReportControl

DLL中也注册了XtremeReportControl.ReportControl

我做了个测试,同样的程序结构,我传递TextBox一点问题没有。

是不是这个控件有问题呢?

[解决办法]
mark
[解决办法]

探讨
引用:
引用:
楼上的同志,控件作为参数向DLL中传递不能使用具体类型。

不了解.. 没这样写过控件,不好意思.

Private WithEvents rptReportGrid As XtremeReportControl.ReportControl
那你可以把这个改为
Private WithEvents rptReportGrid As ReportControl

这样改可以?


一个带类型库限定,一个不带。有什么区别吗??

[解决办法]
可能你开发环境与控件的需要的环境有冲突。

控件的细节你又不了解。 问题不好解决。
[解决办法]
中文字体的问题吧

你看你出错的都是英文的vb

你替换安装中文的vb看看
[解决办法]
探讨
如果把DLL源代码拿到出错的机器上编译后再注册一下问题就可以解决。

继续迷糊中……

热点排行