Работа с КОМПАС api из под службы Windows

Автор z-arthur, 23.05.12, 08:22:30

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

z-arthur

Всем привет!

Необходимо разработать службу, которая периодически сохраняет определенные чертежи КОМПАС в растровый формат. Но из под службы нельзя запускать приложения с пользовательским интерфейсом. И поэтому при попытке запуска КОМПАС появляются ошибки.

У кого-нибудь есть опыт разработки служб для работы с КОМПАС api?


chelkar

Запускайте КОМПАС в режиме "невидимый". См. KompasObject::visible и установите ksHideMessageEnum = ksHideMessageYes или ksHideMessageNo в зависимости от потребности.

z-arthur

Спасибо за ответы!

Служба писалась на c#.

Цитата: chelkar от 23.05.12, 10:10:18
Запускайте КОМПАС в режиме "невидимый". См. KompasObject::visible и установите ksHideMessageEnum = ksHideMessageYes или ksHideMessageNo в зависимости от потребности.
Для запуска компас использовал следующие методы:

Type kompasType = Type.GetTypeFromProgID("KOMPAS.Application.5", true);
kompasApp = Activator.CreateInstance(kompasType) as KompasObject;
kompasApp.Visible = false;

При вызове метода Activator.CreateInstance() в журнале Windows появляется ошибка
Цитировать
Имя сбойного приложения: kompas.exe, версия: 12.0.2.598, отметка времени: 0x4ce122d6
Имя сбойного модуля: unknown, версия: 0.0.0.0, отметка времени 0x00000000
Код исключения: 0xc0000005

Пока решил писать обычное приложение, работающее в трее, а не службу. Т.к. в нем все работает.