VB - dll, строковый символьный вывод - PullRequest
0 голосов
/ 11 ноября 2011

Я пытаюсь получить данные из 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 странный вывод в C #

Ответы [ 2 ]

0 голосов
/ 11 ноября 2011

2 объявления функций показывают long в качестве возвращаемых типов, однако передаваемая строка входит в byRef, а не byVal.Возможно, что строковое значение возвращается через этот параметр, изменяемый в вызове.

Более подробная информация о документации будет полезна.

0 голосов
/ 11 ноября 2011

Оба выхода объявленных функций - "Long", а не "String", поэтому они не могут выводить ничего, кроме этого.

Я бы рекомендовал пересмотреть руководство, на которое вы ссылаетесь, чтобы точно увидеть, как оно документировано и каков будет вызов функции строкового значения.

...