2012-01-04 2 views
2

У меня есть файл ocx, и я хочу использовать его в службе Windows. Я использовал инструмент aximp для создания dll из ocx, но эти dll не работают, они вызывают исключения.Использование ocx-файла в службе Windows

+0

Если вам нужна помощь, вам нужно будет предоставить дополнительную информацию. Какое исключение и какой код дает исключение. – shf301

+0

Перемещение OCX в службу не меняет требования OCX. Например, если его резьбовая квартира STA, вы несете ответственность за перекачку сообщений Windows для OCX. –

ответ

1

Использование ocx в службе Windows на C# должно быть похоже на использование COM в любое другое время. Просто зарегистрируйте ocx как com-сервер и добавьте ссылку на него в настройках проекта.

+0

Я зарегистрировал файл ocx для своего 64-битного выигрыша 7 с – Bertan

+0

Я зарегистрировал файл ocx в своей 64-разрядной операционной системе win 7 с командой regsvr32 fk524pxn.ocx. Для отладки я создаю еще один проект, который является winform (x86), а затем импортирует этот ocx-файл в мой проект winform из ссылок. Когда я отлаживаю, он выдает исключение COM, которое является «Катастрофическим сбоем (исключение из HRESULT: 0x8000FFFF (E_UNEXPECTED)»). Если я верну свой проект winform в AnyCPU из propeties, то он выдаст: «Извлечение фабрики COM-класса для компонента с CLSID {5AB97943-73D7-4385-BF44-5E4FFCFEBE8C} завершилось ошибкой из-за следующей ошибки: 80040154», исключение COM. – Bertan

+0

Этот probelm может возникнуть из вашего ocx или dll, ссылающегося на другие DLL, которые не зарегистрированы или не могут быть найдены в папке windows/system32. Используйте Dependency Walker, http://www.dependencywalker.com/, чтобы отладить этот сценарий. – Motes

Смежные вопросы