ObjectARX, AutoCAD. Среда программирования библиотеки C++

       

Осуществление Точки входа для AutoCAD


AutoCAD звонит в ObjectARX модуль через acrxEntryPoint (), который заменяет main()  программы C++. Вы ответственны за осуществление acrxEntryPoint (), как описано в этом разделе.

AcrxEntryPoint () функция служит как точка входа для AutoCAD,  чтобы связаться с приложением ObjectARX. ObjectARX программы может связываться с AutoCAD,  возвращая коды состояния. Все запросы, чтобы вызвать функции, определенные через acedDefun() сделаны с acrxEntryPoint(). Если Вы определяете новую команду с

ObjectARX или с acedRegFunc(), AutoCAD немедленно выполняет функцию, связанную с командой (см. “ Загрузка ObjectARX Приложение ” на странице 43).

AcrxEntryPoint () функция имеет следующую сигнатуру:

extern "C"

AcRx::AppRetCode

acrxEntryPoint(AcRx::AppMsgCode msg, void* pkt);

msg

Представляет сообщение, посланное от ObjectARX ядра К приложению.



pkt

Содержит значения данных пакета.

AppRetCode

Содержит код состояния, возвращенный AutoCAD.

В пределах определения acrxEntryPoint(), Вы записываете выключатель Операторный или подобный код, чтобы декодировать сообщения от AutoCAD, исполнить Соответствующие действия, связанные с каждым сообщением, и возвращением целочисленное состояние.

ПРЕДУПРЕЖДЕНИЕ! Использование kRetError для конечного возвращаемого значения от AcrxEntryPoint() заставит ваше приложение быть разгруженным, кроме Для сообщений kOleUnloadAppMsg и kUnloadAppMsg. В этих случаях, если KRetError возвращен, приложение не будет разгружено.

Следующий код показывает скелет допустимой инструкции выключателя:

AcRx::AppRetCode

acrxEntryPoint(AcRx::AppMsgCode msg, void* pkt)

{

switch(msg) {

case AcRx::kInitAppMsg:

break;

case AcRx::kUnloadAppMsg:

break;

...

default:

break;

}

return AcRx::kRetOK;

}



Содержание раздела