Как передать параметр указателя типа на PVOID из LabView в DLL? - PullRequest
0 голосов
/ 28 сентября 2011

Я вызываю DLL, написанную на C ++ из LabView.Прототип функции:

ULONG DAQ_Open(PVOID *pHandle);

Как передать правильный параметр из LabView?Просто невозможно передать параметры указателя типа на указатель из LabView в DLL?

Ответы [ 3 ]

2 голосов
/ 29 сентября 2011

Пока вы не собираетесь передавать указатель на LabVIEW VI для использования в качестве обратного вызова (который является отдельным и гораздо более сложным ответом), параметр является просто указателем. При настройке узла библиотеки вызовов используйте тип «числовой» и тип данных «целое число без знака в виде указателя» и передайте «указатель на значение».

Это должно дать вам прототип: void funcName (uintptr_t * arg1);

1 голос
/ 11 октября 2011

Дополнительные примеры по вызову DLL из LabVIEW (включая указатели, структуры, массивы и т. Д.), Вот удобная статья, которая ссылается на несколько других углубленных примеров: https://decibel.ni.com/content/docs/DOC-9076

0 голосов
/ 28 сентября 2011

Вы должны найти 'dll pointers labview' на сайте NI, чтобы получить представление.Также есть пример, поставляемый с LabVIEW, называемый Call DLL.vi, в котором есть примеры того, как этого можно добиться.Пример ВП можно найти, перейдя в «Справка» -> «Найти примеры» и затем выполнив поиск библиотек DLL.

ВП «Call DLL.vi» позволяет просматривать примеры типов данных внешнего кода (C и C ++) и ихинтерфейс с LabVIEW.Каждый тип данных имеет пример ВП, который демонстрирует использование функционального узла библиотеки вызовов.Чтобы открыть пример ВП для определенного типа данных, выберите этот тип данных из списка слева, а затем нажмите кнопку «Открыть пример ВП для текущего типа данных».Прототип функции, исходный код функции и любые конкретные сведения об этом примере появятся в кластере информации внешнего кода.

...