Можно ли использовать в LabVIEW обертку DLL?

ActiveX, .NET, DLL
Ответить
hram56
interested
interested
Сообщения: 7
Зарегистрирован: 24 сен 2011, 17:21
Версия LabVIEW: 8.6
Контактная информация:

Можно ли использовать в LabVIEW обертку DLL?

Сообщение hram56 »

Доброго времени, уважаемые форумчане!
Вопрос по применению в LabVIEW модуля USB3000 от R-Technology.
В комплекте с девайсом консольные примеры, примеры CINов и две dll-ки (одна из них - обертка другой), все с исходниками.
Вычитал, что пользовать CIN в версии 8.6 не рекомендуют, хотел попробовать dll.
Программист из меня никакой, могу только консольную прораммку для девайса написать, глядя на примеры, поэтому хотел использовать то, что есть.
Внутри основной dll-ки две ф-ции, опробовал - обе работают.
Внутри той, которая обертка -45 ф-ций, ни одной воспользоваться в LV не могу, описанный в http://decibel.ni.com/content/docs/DOC-1690 способ тоже не помог (выдает ошибки даже на основную dll, ф-ции которой нормально работают).
Как применить в LV эту хитрую обертку?
То, что относится к dll-кам -
3000.rar
(136.07 КБ) 147 скачиваний
Аватара пользователя
mzu2006

Professionalism Tutorials Black
doctor
doctor
Сообщения: 2456
Зарегистрирован: 16 авг 2008, 02:12
Награды: 3
Версия LabVIEW: 7.1 10 11 12
Откуда: St-Petersburg (RU), Phila, Boston, Washington DC
Контактная информация:

Re: Можно ли использовать в LabVIEW обертку DLL?

Сообщение mzu2006 »

В принципе, в версии 8.6 можно использовать и то и другое. Если уже есть налаженное решение с CIN, то я бы не стал переписывать его через DLL без особых на то причин (Такими причинами могут быть, например, необходимость переноса софта на LV 2011+ в недалеком будущем). Я попробовал подключить некоторые функции, ошибок при подключении нет. Однако, для работы необходимы примеры. (Например, как создается объект класса, указатель на который потом попадает в IDevPtr).
hram56
interested
interested
Сообщения: 7
Зарегистрирован: 24 сен 2011, 17:21
Версия LabVIEW: 8.6
Контактная информация:

Re: Можно ли использовать в LabVIEW обертку DLL?

Сообщение hram56 »

Может я чего-то не так делаю...
Собираю в один каталог Rtusbapi.dll, wrRtusbapi.dll, Rtusbapi.h, wrRtusbapi.h и \win16\windows.h
Пробовую подключить Tools> Import> Shared Library
Shared Library (.dll) File> Rtusbapi.dll
Header (.h) > Rtusbapi.h
В окне Configure Include Paths &Preprocessor Definition ничего, в результате "The following function(s) cannot be wrapped." и длинное warning messages.
Похоже надо что-то указать в Preprocessor Definition а что?
Аватара пользователя
mzu2006

Professionalism Tutorials Black
doctor
doctor
Сообщения: 2456
Зарегистрирован: 16 авг 2008, 02:12
Награды: 3
Версия LabVIEW: 7.1 10 11 12
Откуда: St-Petersburg (RU), Phila, Boston, Washington DC
Контактная информация:

Re: Можно ли использовать в LabVIEW обертку DLL?

Сообщение mzu2006 »

теоретически, надо указать тот файл в котором лежат определения типов BOOL (заглавными), и прочих. У меня есть исключительно негативный опыт работы с Tools>Import>Shared Library. Я делал импорт 2х функций ручной конфигурацией CLFN. Дайте пример использования, можно будет говорить дальше
hram56
interested
interested
Сообщения: 7
Зарегистрирован: 24 сен 2011, 17:21
Версия LabVIEW: 8.6
Контактная информация:

Re: Можно ли использовать в LabVIEW обертку DLL?

Сообщение hram56 »

В предложенных к девайсу CIN-ах отсутствуют ф-ции работы с ЦАП и TTL, думал, что с моей программистской квалификацией будет проще использовать Dll-ки, но все ф-ции из wrRtusbapi.dll хотят видеть на входе IDevPtr (похоже указатель на интерфейс модуля). Пробовал подавать возвращаемое значение ф-ции RtCreateInstance() из Rtusbapi.dll в качестве входного параметра для ф-ций из wrRtusbapi.dll - выдает ошибку.
Хотя в мануале
"Сама библиотека содержит всего две экспортируемые функции, одна из которых,
RtCreateInstance(), возвращает указатель на интерфейс модуля USB3000. В дальнейшем,
используя этот указатель, можно осуществлять доступ ко всем интерфейсным функциям DLL библиотеки ( см. исходные тексты примеров)."
Что луше дать в кач-ве примера?
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Коммуникация с приложениями»