У меня два вопроса:
Я хотел бы знать, какие типы переменных я могу передать в labview из C # или python, используя activeX.Я предполагаю, что это будут такие вещи, как числовые типы, строки и т. Д. Но как насчет путей или кластеров ошибок?
Также в labview я обычно передаю объекты labview в мои subvi's.Как было бы возможно сделать это с другого языка?
Допустим, у меня есть самоопределяемый объект базы данных, который я обычно передаю в labview.Можно ли вызвать какой-либо заводской метод vi из C # и получить управление с передней панели после запуска vi.Привести это как универсальный объект в C #, а затем вызвать другой vi и передать объект?
Like.
// Get a vi reference, and run my databaseFactory vi.
string databaseFactoryPath = ...;
VirtualInstrument viTest = labVIEWApp.GetVIReference(databaseFactoryPath "", false, 0);
databaseFactoryVi.Run(true);
// Get the database labview object from the frontpanel control called "database out"
object databaseObject = (object)viTest.GetControlValue("database out");
// Obtain a reference to a database method called load.vi
string databaseLoadPath = ...;
VirtualInstrument databaseload = labVIEWApp.GetVIReference(databaseLoadPath "", false, 0);
string parameterName = "database in";
databaseLoad.Call( parameterName, databaseObject );
...
Это не работает, потому что исключение выдается в viTest.GetControlValue ("database out"): "Параметрневерно. (Исключение из HRESULT: 0x80070057 (E_INVALIDARG)) "
Кто-нибудь знает, возможно ли делать такие вещи?(Я пытаюсь выйти из программирования labview, но я не хочу делать весь мой код бесполезным в этом процессе.)
Спасибо, labjunky