Компонент ActiveX не может создать объект

Использование const int по ссылке для создания статического массива

Невозможно. Длина всех массивов, которые имеют нединамическое хранилище, должна быть постоянной времени компиляции.

Вы можете иметь статический вектор:

assert(len >= 2);
static std::vector<double> ests(len);
// ...
return ests.data(); 
34
задан bluish 19 October 2012 в 12:43
поделиться

4 ответа

Это, оказывается, получает это приложение, работающее под VBScript, я должен был сделать две вещи.

  1. Выполнение RegAsm.exe для регистрации DLLs.
  2. Выполнение C:\Windows\SysWOW64\cscript.exe для выполнения моего VBScript.

спасибо за всю Вашу справку.

ТАКЖЕ , если они не работают, проверьте другой ответ здесь о включении 32-разрядных приложений.

45
ответ дан Community 27 November 2019 в 16:05
поделиться

Приложение пытается создать COM-объект и даже если тот COM DLL существует, это может зависеть от другого DLL, который не установлен. Можно использовать DependencyWalker для обнаружения, если это верно.

10
ответ дан MrTelly 27 November 2019 в 16:05
поделиться

Действительно выглядит, как будто объект, на который Вы ссылаетесь, не регистрируется в системе. Я знаю, что Вы сказали, что это установлено, но это не обязательно означает, что регистрируется. Для подтверждения этого ищите проценуроз, который Вы использовали в своем реестре.

Пример для этого кода:

set objFSO = CreateObject("Scripting.FileSystemObject") 

я искал бы Scripting.FileSystemObject в реестре. Тогда я посмотрел бы на ключ реестра выше найденного значения, для InProcServer32 значение. Это даст Вам путь к файлу ActiveX, от которого он был зарегистрирован (для Scripting.FileSystemObject, файл является "c:\windows\system32\scrrun.dll").

, Если Вы не можете найти свой проценуроз в реестре, тогда он не регистрируется в Вашей системе, которая является Вашей проблемой. Если это не зарегистрировало Вас, должен узнать, какой файл регистрирует его, который обычно является .ocx или .dll в том же пути к папке Вашего приложения сторонних производителей, и затем зарегистрируйте их файл (файлы). Вот команда для регистрации файла:

regsvr32 /i "c:\windows\system32\scrrun.dll"

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

2
ответ дан bluish 27 November 2019 в 16:05
поделиться

Я знаю, что это старый вопрос, и на него уже есть ответ, помеченный как правильный, но это мне не помогло.

На случай, если бедняги придут сюда в будущем, проверьте настройки своего браузера -

Для меня, используя IE, исправление заключалось в том, чтобы перейти в Инструменты / Свойства обозревателя на вкладке «Безопасность» для соответствующей зоны, «настраиваемый уровень» и проверьте настройки ActiveX. Установка «Инициализировать и создавать сценарии для элементов управления ActiveX, не помеченных как безопасные для сценариев» на «Включить» устранила эту проблему для меня

5
ответ дан 27 November 2019 в 16:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: