DLL工程的问题

chaoren119119 2009-01-05 12:59:57
我创建了一个ACTIVEX DLL工程,里面包含了窗体,窗体里如何调用或返回DLL里定义的函数????
...全文
197 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
tckff 2009-01-16
  • 打赏
  • 举报
回复
另:在Class中调用form必需要实例化一个对象
所以Class code最好改为
Public sub initClass()
dim frmTest as New form1
frmTest.show
frmTest.mysub
end sub
tckff 2009-01-16
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 chaoren119119 的回复:]
这个类的工程是要返回一个事件

'class code
public event MyEvent(strInfo as string)

public sub InitClass
form1.show
end sub

'class form code
'里面有2个文本框,一个txtIP,一个txtPort
private sub btnOK_click()
'在这里我需要返回MyEvent,这个本身就在class实例中,但是我程序从外部调用这个DLL,如何实现??
end sub
[/Quote]

为你的Class form添加一个过程
public sub mysub()
call btnOK_click
end sub

修改class code
public sub InitClass
form1.show
form1.mysub
end sub

huangyubinde 2009-01-12
  • 打赏
  • 举报
回复
关注
vansoft 2009-01-08
  • 打赏
  • 举报
回复
FORM的值?
什么值?

FORM确定后你可以把值弹回去啊。
你不是会RaiseEvent嘛。

实在不行,就多几个属性,FORM确定后,
把FORM里需要返回的值全给这些属性不就完了。
Tiger_Zhao 2009-01-06
  • 打赏
  • 举报
回复
'class code 
public event MyEvent(strInfo as string)

public sub SendEvent(strInfo as string)
RaiseEvent MyEvent(strInfo)
end sub

public sub InitClass
set form1.c = me
form1.show
end sub

'form code 
public c as Class1

private sub btnOK_click()
C.SendEvent "abc"
end sub
chaoren119119 2009-01-06
  • 打赏
  • 举报
回复
来个高手帮帮我吧
chaoren119119 2009-01-05
  • 打赏
  • 举报
回复
楼上的,返回事件的方法我当然知道,关键是DLL工程里那个FORM的值无法通过事件返回出来
Tiger_Zhao 2009-01-05
  • 打赏
  • 举报
回复
'外部调用(假定窗体)
private WithEvents C1 as Class1

private sub Command1_Click()
set c1 = new class1
c1.InitClass
end if

private sub C1_MyEvent(byref strInfo as string)
msgbox strinfo
end if
chaoren119119 2009-01-05
  • 打赏
  • 举报
回复
这个类的工程是要返回一个事件

'class code
public event MyEvent(strInfo as string)

public sub InitClass
form1.show
end sub

'class form code
'里面有2个文本框,一个txtIP,一个txtPort
private sub btnOK_click()
'在这里我需要返回MyEvent,这个本身就在class实例中,但是我程序从外部调用这个DLL,如何实现??
end sub

Tiger_Zhao 2009-01-05
  • 打赏
  • 举报
回复
类的成员依赖与实例
比如 CSDN用户 是一个类,昵称 是类的成员。
楼主和我都是类的实例,楼主.昵称 = chaoren,我.昵称 = VB老鸟。

如果是实例无关的函数就应该放在 Module 中。
僵哥 2009-01-05
  • 打赏
  • 举报
回复
是否是需要返回某函数的地址?AddressOf?
YUYAO2 2009-01-05
  • 打赏
  • 举报
回复
那你为什么非要在DLL里建一个窗体呢,你可以建工程组
chaoren119119 2009-01-05
  • 打赏
  • 举报
回复
楼上的老兄,我创建的工程本身就是一个DLL实例,只不过DLL里也有FORM窗体,我重新创建一个工程,引用这个DLL,但是DLL本身SHOW出来DLL工程内部窗体时,我如何在这个内部窗体里调用本身类里面的方法
Tiger_Zhao 2009-01-05
  • 打赏
  • 举报
回复
类的成员必须通过实例来访问
dim c as class1
set c= new class1
call c.AAA()
chaoren119119 2009-01-05
  • 打赏
  • 举报
回复
就是我在类模块里定义了一个函数AAA(),我在form2里如何调用这个函数,或者用raiseevent 返回值
注意,我这个工程是DLL工程,不是普通的WINFORM工程
迈克揉索芙特 2009-01-05
  • 打赏
  • 举报
回复
窗体里如何调用或返回DLL里定义的函数????
什么意思?

1,451

社区成员

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

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