2011-11-11 151 views
0

我試圖從一個DLL獲取數據,但我不知道該怎麼做。VB - DLL,字符串字符輸出

我的代碼是:

'Function 
Public Declare Function SET_XML_PATH Lib "EbmPapstFan.dll" (ByRef ruta As String) As Long 
Public Declare Function GET_PRODUCTS Lib "EbmPapstFan.dll" (ByRef ruta As String) As Long 

Sub Selec() 
     Dim ruta As String 
     Dim Int_A As Long, Int_B 

     ruta = "C:\ebmpapst\data\AC\" 
     Int_A = SET_XML_PATH(ruta) 'If Int_A=0 then they aren't mistake 

     Int_B = GET_PRODUCTS("") 
     Worksheets("Selec").Range("E2").Value = Int_B 'Nº products 
End sub 

結果是:

​​

這是不是與路徑的錯誤,因爲Int_A是0。此外,GET_PRODUCTS給我的產品數量軟件有。手冊說這個功能也有字符串輸出。

主要問題是我不知道如何獲得這個其他字符串字符輸出。

vb dll strange output in C#

回答

0

的聲明的函數兩個輸出是「龍」,而不是「字符串」,因此沒有辦法,他們正在輸出不同的是什麼。

我建議您重新瀏覽一下您引用的手冊,準確瞭解它是如何記錄的以及字符串值的函數調用是什麼。

+0

該語句的'no way'部分不完全正確,參數是byRef,它可能會返回一個調整後的值。 – Andrew

+0

然後就像在Int_A之後str_Whatever = ruta一樣簡單。非常懷疑她在說什麼,但是,正如你所說的,需要更多的細節。 – user85569

0

2函數聲明顯示long作爲返回類型,但是,傳入的字符串將進入byRef而不是byVal。字符串值可能是通過在調用中調整的參數返回的。

有關該文檔的更多詳細信息將會有所幫助。