VB - DLL,字符串字符输出

时间:2011-11-11 11:16:05

标签: asp.net vb.net dllimport

我正在尝试从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
Int_B= 18

这不是路径的错误,因为Int_A是0.此外,GET_PRODUCTS为我提供了软件所拥有的产品数量。手册说这个函数也有字符串字符输出。

主要问题是我不知道如何获取其他字符串字符输出。

vb dll strange output in C#

2 个答案:

答案 0 :(得分:0)

声明函数的两个输出都是“Long”而不是“String”,所以他们无法输出除此之外的任何内容。

我建议您重新查看您参考的手册,以确切了解它的记录方式以及字符串值的函数调用。

答案 1 :(得分:0)

2函数声明显示long作为返回类型,但是,传入的字符串是inRef而不是byVal。可能是通过在调用内调整的参数返回字符串值。

有关文档的更多详细信息会很有帮助。