PowerGraph Описание PowerGraph
English ENG
Russian РУС
 Программное обеспечение  |  АЦП  |  Загрузка файлов  |  Цены  |  Конференция  |  Контакты 
Главная
Новости*

 ПО «PowerGraph»
О программе
Описание
Публикации
Применение
Сертификаты
Загрузка файлов

 Поддержка
Обновление ПО
Обучение
Конференция
Вопросы и ответы
Отправить письмо

 Аппаратура
АЦП
Мультиметры
Приборы
Хемилюминометры
Биожезл
Производители

 Информация
  Цены и услуги
  Контакты

 Телефон:
 +7 (495) 961-47-30
 E-Mail:
 soft@powergraph.ru

Конференция

Тема: «Библиотека PGImport и LabVIEW»
[Вернуться в "Список тем"] [Создать новую тему]
Елена
26.04.2007
04:49
Уважаемые разработчики !
В описании к вашей новой библиотеке PGImport Вы указываете перечень систем программирования, которые должны иметь возможность использовать эти новые возможности. В перечне указана и графическая среда программирования LabVIEW.
Действительно, "из-под LabVIEW" эта библиотека вызывается и, похоже, выдает всю необходимую информацию.
Единственная (из пока обнаруженных) проблема - невозможно передать ссылку на "буферный массив" для заполнения считываемыми данными: создаваемый вашей библиотекой "параметр" соответствующего "метода" просто соглашается брать только одиночные значения (по ссылке), но не одно- или двумерный массив.
Можно ли надеяться на решение этой проблемы ???
Ведь в ином случае смысл создания этой библиотеки (во всяком случае, для работы "из-под LabVIEW") просто исчезает !!!
Дмитрий (PG)
26.04.2007
11:56
Передача в функцию аргументов по ссылке (по указателю) это стандартная операция, поддерживаемая во всех полноценных языках программирования.
Если в LabView передача аргументов по указателю не поддерживается значит это ограниченность LabView, хотя вроде бы заявлена возможность вызова любых функции из DLL, что подразумевает поддержку любых способов передачи аргументов.
Если не знаете как передать в функцию указатель на буфер обратитесь к квалифицированным специалистам LabView (в техническую поддержку, на форумы и т.п.) или считывайте по одному значению.

Смысл всегда существует только для тех, кто умеет и знает как использовать.
Елена
27.04.2007
04:08
Уважаемый Дмитрий, спасибо за совет.
Но (уж не знаю, к сожалению или к счастью) LabVIEW - во многих случаях весьма совершенная система, и действительно "умеет" передавать ссылки на свои массивы в dll. Более того, мы эти возможности уже давно используем, поэтому едва-ли относимся к "незнайкам".
Если хотите, могу прислать иллюстрацию, как должна в LabVIEW выглядеть такая передача, как при этом должен выглядеть параметр ActiveX, и как он выглядит в Вашем варианте. Кстати, в найденном мной примере ActiveX создан именно в VBA (т.е. в варианте "Бейсика").
Я вполне бы согласилась (на время) считывать данные (десятки мегабайт) по одному значению - для нас пока затрачиваемое на это время не критично.
Но, имея в виду, что во многих отношениях Ваше изделие (система PowerGraph) весьма совершенно и выглядит очень даже хорошо, и, что особенно важно, получает все большее распространение, хотелось бы, чтобы и в таких деталях не появлялось непонятных "глюков".
С уважением и надеждой, что параметр "DATA" в методах объекта "_PGIBlock" сможет (со временем ?) принимать именно ссылки (by reference), а не просто числа.
Дмитрий (PG)
27.04.2007
12:00
С чего Вы взяли, что в функцию чтения данных передается просто число?
Во всех функциях Windows API при передаче массива передается первый элемент массива по ссылке. В библиотеке PGImport тоже самое - если Вы умеете передавать ссылки на массивы в dll, точно также передавайте ссылку на массив в функцию чтения данных.

Правила написания компонентов ActiveX определяются не тем, что "умеет" LabView, а спецификацией этой технологии, поэтому заявление "как должна выглядеть" здесь неуместно.

Судя по всему Вы пытаетесь передать в функцию чтения данных массив SAFEARRAY (формат массивов в Бейсике), но это частный случай использования Автоматизации (Automation). В библиотеке PGImport применяется другой более общий подход (передача первого элемента массива по ссылке), который используется практически во всех API и доступен для всех языков программирования.
Смотрите в примерах к библиотеке как передаются массивы в функции чтения данных.
[Вернуться в "Список тем"] [Создать новую тему]

Новое сообщение по теме «Библиотека PGImport и LabVIEW»

 

*Ваше имя:
Email:
*Сообщение:
   

В начало страницы  



 
 Copyright© DISoft, 2003-2020. All right reserved.