Тема: ARX и MFC

При создании MFC-приложения (через MFC AppWizard DLL) и загрузки его в AutoCAD 2000 получаю сообщение

Warning! Arxtest5.arx allocates memory from MSVCRTD.DLL, but AutoCAD uses memory from MSVCRT.DLL. This may cause problems.

Кто-нибудь может сказать подробнее про MSVCRT(D).DLL
или прокомментировать причину возникновения этого предупреждения?
(В программу добаляется регистрация только одной команды, никаких дополнительных библиотек не используется).

Re: ARX и MFC

Создавать ARX проекты НАСТОЯТЕЛЬНО рекомендуется его родным AppWizard-ом, лежит в папке utils\ObjARXWiz.

Насчет отличий MSVCRTD.DLL и MSVCRT.DLL писать здесь бессмысленно, все подробности есть в MSDN.

Re: ARX и MFC

Проект, созданный AppWizard-ом, к которому
добавлен обработчик одной лишь команды, после успешной компиляции и загрузки через меню (Service->Load Application...) после закрытия окна (окна Load Application) окно AutoCAD теряет фокус и словно поверх него помещается еще одно окошко (после сворачивания AutoCAD-а и разворачивания его вновь на полный экран перерисовывается только небольшая область окна и перерисовывается белым прямоуголькиком, причем только в этой области курсор имеет вид стрелки - вне нее курсор выглядит песочными часами). Это окно не реагирует на мышку и клавиатуру (почти), после нажатия Alt (роде как обращение к меню окна) выходит
Fatal Error и  AutoCAD завершает работу (сверытвает окно).
Вот такой опыт работы с AppWizard-ом.

Re: ARX и MFC

"Warning! ......arx allocates memory from MSVCRTD.DLL, but AutoCAD uses memory from MSVCRT.DLL. This may cause problems." - это сообщение характерно для .arx откомпиленых в Debug. Перекомпиль в Release - и по крайней мере от предупреждения избавишся.

Re: ARX и MFC

Спасибо. С MSVCRTD.DLL ясно.
А кто может прокомментировать проблемы (см. выше) с AppWizard?

Re: ARX и MFC

Service->Load Application!!! Так у тебя 14-й автокад как я понимаю. В ObjectARX 14 толкового Wizard-а так и не написали (и IMHO никогда не напишут). А твою проблему, когда писал для 14-го я решал так (могу ошибаться, давно это было) - после создания .mak файла заходишь в Task Manager->Processes и прибиваешь процесс, связанный с AppWiz, похоже на автодеске не сделали его корректное завершение.

Насчет того, что написал Igor Lis - неправильно это, ARX 2000 или 2002 Wizard специально добавляет в проект несколько файлов (RXDEBUG.CPP, RXAFXMEM.CPP, rxdbgheap.cpp) , чтобы в дебаговой версии избежать конфликтов с MSVCRT.DLL

Re: ARX и MFC

Нет, Devis. У меня стоит AutoCAD 2000. Правда вот версию ARX  точно сказать не могу. Выкачен c сайта Autodesk около года назад. Существует ли разница в версиях ARX (ранее AutoCAD2000. Про AutoCAD 2002 на сатйе пишется об изменениях, но там лишь добавление некоторых новых классов). Если причина моих проблем с AppWizard-ом в его версии, то где можно взять версию под AutoCAD 2000?

Re: ARX и MFC

На 2000-м и 2002-м загрузка приложений делается через Tools->LoadApplication, правда дома у меня стоит 2002-й, так что могу и ошибиться.
Новый AppWiz входит в ObjectARX 2002, все более ранние проекты с ним полностью совместимы, так что скачивай, запускай...