-1

好的,如果我的问题对某些人来说是多余或愚蠢的,请原谅我,但我已经尝试完成某事 2 周但没有成功。

我有一个控制调谐器卡的 dll。一切都适用于提供的调谐器卡和软件,但我需要创建一个 vb 应用程序来控制卡的一部分。我拥有的 dll,我会调用tuner.dll. 我在 vb6 中引用了 tuner.dll。我可以在对象浏览器中查看它的类和成员。

我正在尝试创建一个类的新实例,该实例将告诉我当前正在播放的频道号。当我tuner.dll在浏览器中查看时,我显示了许多类,没什么大不了的,名称几乎说明了它们的作用。我要使用的是IHCTuneRequest. 我想我正在使用这个,因为这个类的成员是get_ChannelNumber. 现在这是我被卡住的时候。

Dim curchannel as tunerlib
set curchannel = new tunerlib
curchannel.IHCTuneRequest.get_channelnumber

语法和过程看起来正确吗?出于某种原因,我无法让它工作。谢谢

4

1 回答 1

1

我的 VB6 有点生锈,但据我所知,

参考这些页面

http://msdn.microsoft.com/en-us/library/aa243324(v=VS.60).aspx

http://msdn.microsoft.com/en-us/library/aa243341(v=vs.60).aspx

首先,您必须在 MODULE 级别声明您的外部动态链接库引用。和/或还声明 subs 和函数,例如

[With Alias name]
Declare Function IHCTuneRequest Lib "tuner" Alias "#132"() As Long
Declare Function IHCTuneRequest Lib "tuner" Alias "AnotherAlias"() As Long

[Without Alias name]
Declare Function IHCTuneRequest Lib "tuner"() As Long

请注意,某些子例程和/或函数可能需要参数

[With Alias name]
Declare Function IHCTuneRequest Lib "tuner" Alias "#132"(byval Hwnd as long) As Long
Declare Function IHCTuneRequest Lib "tuner" Alias "AnotherAlias"(byval Hwnd as long) As Long

[Without Alias name]
Declare Function IHCTuneRequest Lib "tuner"(byval Hwnd as long) As Long

最后,您没有提到您是否收到任何错误或调用 DLL 的任何反馈?我不得不问... 你呢?收到任何错误?如果是这样,您会收到什么错误?

于 2013-05-11T12:20:59.520 回答