Тема: Обратная связь AutoCAD - Delphi

Есть программа на Delphi, которая запускает AutoCAD и делает какието действия. Как сделать, чтобы при нажатии в AutoCAD на выход, управление передалось в мою программу, а затем закрыло AutoCAD

Re: Обратная связь AutoCAD - Delphi

если импортирована библиотека типов - то это проще простого:
у AcadApplication есть событие: OnBeginQuit - это то, что нужно  :)

Re: Обратная связь AutoCAD - Delphi

Спасибо. Но меня интересует в общем если не импортирова библиотека типов.
Если можно, то поподробнее как сделать если импортирована библиотека типов.

Re: Обратная связь AutoCAD - Delphi

1. если не импортирована библиотека типов - то прийдет оперировать с объектом AutoCad в "виде" переменной типа OLEVariant, для реализации сабжа необходимо "подсунуть" объекту свой обработчик события "BeginQuit" (да еще не ошибиться в параметрах) - есть функция (или процедура) Delphi,  которая это реализует... (названия не помню - просто как-то "листая" help - наткнулся и немного прочитал, а произошло это когда пытался выяснить: как в COM-серверах реализуется вызов событий)... так как сам такое не пользую - то более ничего сказать не могу, прийдется вам самим это "поковырять".
но(!) одно сказать могу точно - лучше все-таки пользовать импортированные интерфейсы.
2. если импортируем библиотеку типов - Delphi создает 4 компанента: AcadApplication, AcadDocument... (ну и еще...)
"бросаем" на форму AcadApplication, смотрим в его события и выбираем "OnBeginQuit" - а прописать в уже готовом обработчике нужный код - проблем составить не должно.
зы. в обработчик передается переменная Cancel - если ей присвоить True - то AutoCad не будет завершать свою работу.
вот собственно и все  :))

Re: Обратная связь AutoCAD - Delphi

Кто-нибудь может пояснить о каким компонентах идет речь? Импорт файла Автокада сделал, но не заметил никаких компонент.

Re: Обратная связь AutoCAD - Delphi

Посмотри на закладке ActiveX