Почему ActiveX не может создать объект из исполняемого файла Labview? - PullRequest
1 голос
/ 07 июня 2010

Вот мой сценарий.Я использую Quicktest Pro (VB) для создания объекта ActiveX из Labview VI, который я встроил в исполняемый файл.В спецификациях сборки VI я включил опцию сервера ActiveX (имя сервера ActiveX: «MyLabviewProgram»), а в VI Tools> Options> VI Server: Configuration установлен флажок ActiveX.

Так что в QTP myкод:

Set IvApp = CreateObject("MyLabviewProgram.Application")
Set Vi = IvApp.getVIReference("MyLabviewVI.vi")
Vi.Call ParamNames, ParamVals

При выполнении этого я получаю сообщение об ошибке запуска в первой строке:

Компонент ActiveX не может создать объект: 'MyLabviewProgram.Application'

У меня проблемы с выяснением причин ошибок.На веб-сайте National Instruments они зашли на одну из страниц своего сообщества, посвященную «Исполняемый файл LabVIEW, используемый в качестве сервера ActiveX».Шаг после сборки EXE, 5. Запустите EXE хотя бы один раз на цели, чтобы активировать файл .TLB.Я запустил исполняемый файл, но не уверен, что они подразумевают под целью.

У кого-нибудь есть предложения относительно того, что мне нужно сделать, чтобы это работало?

1 Ответ

1 голос
/ 08 июня 2010

Ваше описание звучит так, как будто вы правильно создали vi .exe.«На цели», вероятно, означает «На целевом ПК».EXE добавляет все записи регистрации COM в реестр Windows каждый раз, когда он выполняется.

Похоже, вы еще не убедились, что записи регистрации COM присутствуют в реестре.Это первый шаг отладки.

Запустите regedit.exe и найдите MyLabviewProgram.Application в подразделе HKEY_CLASSES_ROOT.Вы должны найти запись, которая содержит вложенный ключ, который содержит значение, которое содержит GUID (большое шестнадцатеричное число).

На этот "идентификатор класса" GUID следует ссылаться с помощью клавиши HKCR / CLSID.Эта ссылка должна содержать вложенный ключ LocalServer32 со значением по умолчанию, указывающим на путь к файлу .EXE вашего приложения с добавленным аргументом /Automation.

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

...