2013-05-11 110 views
-1

好的,請原諒我,如果我的問題對於某些人來說是多餘的或愚蠢的,但是我一直在努力完成2周的成就而沒有成功。VB6創建類對象

我有一個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 

語法和過程看起來是否正確?出於某種原因,我無法得到任何工作。 感謝

+1

不,這一切都是錯誤的。不可能猜測coclass名稱可能是什麼,即實現IHCTuneRequest的名稱。聯繫供應商尋求支持。 – 2013-05-11 11:48:12

+0

什麼是tunerlib? – RBarryYoung 2013-05-11 11:51:33

+0

你需要庫作者的一些東西來告訴你如何使用它。文檔,示例代碼或您可以直接提問的人。猜測不會讓你到達任何地方。 – MarkJ 2013-05-11 18:49:15

回答

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級別。 和/或還宣佈潛艇和功能例如像

[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的任何反饋?我必須問......你呢?收到任何錯誤?如果有的話,你會收到什麼錯誤?

+0

謝謝大家的信息。這是我的理解,就像你看到的那樣,如果能夠將dll添加爲參考,就沒有必要在模型級別聲明dll。我得到的錯誤是作爲調諧器在Dim curchannel上。當輸入代碼即Dim curchannel as tuner時,我得到一個選項列表,其中有IHCTuneRequest作爲選項。但是,當我到達設定的行時,選項列表不包含IHCTneRequest。我會按照上面的建議,看看我需要什麼,再次感謝。 – 2013-05-11 13:16:03

+0

您是否有錯誤編號以符合錯誤? – Zeddy 2013-05-11 13:18:08

+0

沒有錯誤消息。如果我能夠從項目引用菜單中引用dll,是否需要使用interop包裝?我能夠使用上面提供的代碼來聲明函數,但是我無法找到入口點。這是我用過的。聲明函數IHCWTunerequest庫「tune.dll」(ByVal get_channelnumber長)只要。我得到的參數不是可選的。我假定它指的是get_channelnumber。當我輸入這個時,我意識到get_channelnumber是一個方法而不是返回變量。我認爲。我將不得不看看dll並查看返回的內容。 – 2013-05-11 13:53:04