Справочник СИ перестаёт работать после подключения к нему по API

Автор Cyclopentan, 22.12.21, 11:57:45

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

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

Cyclopentan

Коллеги, добрый день!
Внезапно обнаружил следующую проблему - справочник СИ в Компасе перестаёт работать после подключения к нему по API.
Чего я делаю:
1) Создаю в Компасе сборку и вставляю туда руками пару метизов из справочника СИ. Справочник открывается, всё норм.
2) Подключаюсь библиотекой к справочнику СИ стандартным способом из справки:
using PARTLibClient;

IPARTLibProvider PLClient = new BOSimpleProvider();
PLClient.Connect(ref errorMsg);

...
PROFIT

PLClient.Disconnect();

3) После подключения в коде вообще не обращаюсь к PLClient. Только подключаюсь и отключаюсь.
4) Пытаюсь в Компасе вновь руками вставить новый элемент из Справочника СИ - Компас вообще не реагирует на нажатие кнопки вставки элемента, будто библиотека plclient_kompas.dll либо чем-то заблокирована, либо вообще из Компаса выгружена. После перезапуска Компаса всё работает, но опять же до выполнения подключения.

Кто-нибудь сталкивался с подобным и есть ли идеи, как данный недуг побороть?

p3452

Отсоединились, а "ресурс" (plclient_kompas.dll) не освободили...

Cyclopentan

А Вы умеете заинтриговать!

Почитал примеры по API для справочника СИ, добавил из другого примера следующее:
IntPtr pDll = IntPtr.Zero;
pDll = LoadLibrary("plclient_kompas.dll");

Код из примера выше с PLClient

FreeLibrary(pDll);

Всё то же самое, справочник СИ перестаёт работать.

p3452

Cyclopentan - попробовал на v20, правда ваша, факт имеет место быть.

Cyclopentan


p3452

- Приложение СИ (или сам Компас?) запоминает текущее положение (последняя использованная или первая запись) указателя базы данных (Дерево, в левой части главной формы)...
- Когда через API используем базу, приложение СИ (или сам Компас?) теряет этот указатель и не может
"отобразить" окно главной формы (срабатывает проверка).
- Если "проверку" обойти можно явно увидеть это сообщение об ошибке.
Возможно, если предварительно сохранить "указатель" и после работы с API, его восстановить - проблема исчезнет!? 

Cyclopentan


Cyclopentan

Обещанного 3 года ждут.
Я уложился в 6 месяцев.
Вот официальный ответ поддержки:
Цитата: undefinedДобрый день!
Официальной интеграции средствами API Библиотеки СИ с КОМПАС-3D разработчиками не было заявлено. На текущий момент такая интеграция имеется с "Комплекс Решений Аскон 2014".
Справка PartLibAPI.chm, на которой был разработан модуль, предоставлялась в поставке именно с  данным решением.