2017-01-30 10 views
-1

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

Прежде всего, я был смущен, выбрав исполняемый/service_executable:

enter image description here

Когда лучше использовать один и когда другой?

Затем мне нужно добавить объект ATL. В случае обслуживания у меня есть:

enter image description here

Что такое Custom Interface? Это нормально для Navision? Обычно я выбираю Dual. Я полагаю, что нужно проверить "Automation compatible"

Я следующее меню при выборе простого исполняемого файла:

enter image description here

+0

«Пользовательский интерфейс» здесь означает «не производный от« IDispatch ». «Совместимость с автоматизацией» означает «параметры метода, все еще ограниченные типами, которые были бы действительны для интерфейса« IDispatch »: некоторые, но не все, клиенты автоматизации все еще могут использовать такие интерфейсы. Какой интерфейс Navision нужен, я понятия не имею. –

ответ

0
  • Executable (EXE): вам необходимо открыть сеанс Windows, для того, чтобы запустить его
  • Служба (EXE): сервис запускается при запуске хоста (нет необходимости открывать сеанс Windows)
  • Двойной: унаследовать от IDispath интерфейс (экземпляр COM можно вызвать с поздним связыванием) + vtbl привязка. Вот почему он называется Dual.
  • Пользовательские:. Определяемый пользователем интерфейс, который использует vtbl связывание (Чтобы назвать, прокси/заглушка должна быть предоставлена ​​клиенту)
  • интерфейс автоматизации: наследовать от IDispath интерфейса (экземпляр COM-можно назвать с поздним связыванием (динамический вызов))