2011-11-11 108 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。字符串值可能是通过在调用中调整的参数返回的。

有关该文档的更多详细信息将会有所帮助。