Как сделать библиотеки динамически подключаемой?

Автор Frost, 22.07.08, 16:14:36

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

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

Frost

Кто-нить знает как библиотеку rtw сделать dll?

Dune

прикладные библиотеки компас и есть динамически подключаемые.
нужно просто переименовать файл с library.rtw в library.dll  :)

Frost

Это не то. Просто переименовав библиотеку никакого эффекта не будет, она ведь всеравно подключается статически. Вот меня и интересует как Dll  подключить так, чтобы процедуры из нее только тогда когда это требуется, а потом чтобы из памяти сразу выгрузилась до следующего вызова.

Dune

Библиотеки rtw именно динамически подключаемые библиотеки dll, когда вы в менеджере библиотек выполняете "добавить описание прикладной библиотеки" вы и делаете как раз то что загружаете её динамически в память процесса KOMPAS. Сделать это программно из другой библиотеки средствами Kompas API насколько мне извесно нельзя, можно выполнить команду другой библиотеки  int ksExecuteLibraryCommand (char *fileName, int command) при этом библиотека будет автоматически загружена, но вот будет ли она после выполнения команды выгружена - вопрос.
Конкретно опишите что требуется получить в итоге???

Frost

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

Dune

Попрежнему не ясна цель???  зачем вам загружать - выгружать библиотеки?? экономите память??  такие они у вас огромные??
Вообще-то можно библиотеки загружать не в компас а в вашу библиотеку из которой вы хотите выполнять её команды, тут то что хотите то с ней и делайте.  :)

Frost

Да она у меня при повторном вызове не работает. только после переподключения. вот и вся цель

Dune

Аааааа. Ну если истиную причину проблемы искать не в ваших принципах, тогда лучше так и сделать.
Библиотека rtw подключеная к компасу каждый раз при надобности загружает dll с вашим кодом, используя экспортируемые её функции выполняет необходимые операции, после чего выгружает её. Но это уже тема конференции по win api.

Frost