Осуществление Точки входа для 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;
}