如何传递控件到ActiveX Dll组件里.我是用object类型传递,本机运行通过,但放到别的机子就不行了

wenejiang 2003-10-27 10:50:12
如何传递控件到ActiveX Dll组件里?
我是用object类型传递,本机运行通过,但放到别的机子就不行了,说是类型不对,然后我把ActiveX Dll源码拷过去,在那台机子上再编译,运行通过,但拿到我的机子上注册使用就碰到了同样的问题,小弟被这个问题所困,还望各位大侠救我一把.

我是认为问题出在用object控件引用的后期绑定上.但是ActiveX Dll又不允许我用指明的类型来传递参数
如public function SetTextBox(byval x1 as TextBox) '是不允许的
public function SetTextBox(byval x1 as object) '是允许的,生成dll以后,在本机也能运行通过.但是,到别的机子上就出现了类型不匹配的问题.
小弟才疏学浅,不知道怎么解决这个问题?
...全文
112 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wenejiang 2003-10-28
  • 打赏
  • 举报
回复
顶一下,没人能帮
wenejiang 2003-10-28
  • 打赏
  • 举报
回复
但是我在本机是通过运行的,而且我也同样的用textbox,comboBox他们在别人的机子上都运行通过.只有几个控件在别人的机子上运行通不过,如Treeview和DataTimepicker
davidlv 2003-10-28
  • 打赏
  • 举报
回复
在dll中是不能定义 as treeview的这种东西,DLL是不认识的
wenejiang 2003-10-28
  • 打赏
  • 举报
回复
在Dll里
'ClassName=TvwAgents
Private WithEvents m_xTvw As TreeView

Public Function Box(ByVal tvw1 As Object)
Set m_xTvw = tvw1
End Function

然后在程序里调用
dim TvwAgents as new TvwAgents
TvwAgents.Box treeview1 '此处在本机编译运行通过,但注册到其他机子运行,就报类型不匹配的错误
射天狼 2003-10-28
  • 打赏
  • 举报
回复
贴一段代码出来!~~
davidlv 2003-10-28
  • 打赏
  • 举报
回复
把你DLL中的这段代码贴出来,再写上你是怎么传参数给DLL的
aiur2000 2003-10-28
  • 打赏
  • 举报
回复
DataTimepicker需要手动注册,我用setupfactory就不能注册。你把ocx写到system32中,在写个bat文件手动注册就行了
wenejiang 2003-10-28
  • 打赏
  • 举报
回复
顶一下,怎么没有人碰到过这种问题吗?

7,789

社区成员

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

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