| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > DoModal() и пример из стандартного руководства по ObjectArx2007

DoModal() и пример из стандартного руководства по ObjectArx2007

Ответ
Поиск в этой теме
Непрочитано 09.02.2009, 07:43 #1
DoModal() и пример из стандартного руководства по ObjectArx2007
radioactive_wheel
 
Регистрация: 09.02.2009
Сообщений: 9

имеем Автокад2007, ObjectArx2007 и Visual Studio2005 c C++. нам необходимо перенести несложный проект для 2006-го автокада в 2007 Автокад. подобная операция 2002 -> 2006 не составила труда. исправив ошибки к 2007 встрелись с проблемой в строчке создания диалога в DoModal(), проект закрывался с ошибкой, что заставило обратиться к стандартному примеру в документации к ObjectArx, и как оказалось, пример тоже не работает. до закрытия как бы все нормально, но при закрытии окна класса CAcUiDialog, выдает стишок Access violation reading location. handler oкна подозрительно равен 0. нужно добавить еще, что пример - это готовый набор сорсов, ресурсов и настроенных Properties проекта, а что нужно для окончательной готовки - нажать кнопку билд. При хоть и болезненном изменении с DoModal на Сreate а затем ShowWindow вродебы все работет.. пока не вставляется, уже отточеное в применении окно CFileDialog.. которое естесственно тоже получается из DoModal.. подскажите, пожалуйста, почему вот так вот бестактно может неработать стандартный пример и библиотека стандартных диалоговых окон? ).
тут этот ObjectARX: http://discussion.autodesk.com/forum.jspa?
а пример в папке с ним в \samples\editor\mfcsamps\acuisample_dg
Просмотров: 3512
 
Непрочитано 09.02.2009, 08:43
#2
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,362
Отправить сообщение для Александр Ривилис с помощью Skype™


Наиболее вероятная причина - непереключение ресурсов на свое приложение (т.е. отсутствие кода CAcModuleResourceOverride resOverride; перед созданием диалога). В acuisample_dg ресурсы переключаются не там и не тогда, когда это следовало бы. Правильнее здесь: samples\editor\mfcsamps\modal\arxmfctmpl.cpp
Александр Ривилис вне форума  
 
Автор темы   Непрочитано 09.02.2009, 09:06
#3
radioactive_wheel


 
Регистрация: 09.02.2009
Сообщений: 9


перенесение такой строчки в место перед объявлением диалога, к сожалению, ничего не изменило).
но, тем не менее, пример с использованием CDialog работает хорошо. с CAcUiDialog только до нажатия кнопки закрытия..
конечно, глупо полагать, что пример совсем не работает, всетаки он имеет слишком уж официальное происхождение). все упирается в проблемы, баги, настройки или еще чтото связанное с классом CAcUiDialog ?.
radioactive_wheel вне форума  
 
Непрочитано 09.02.2009, 11:37
#4
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,362
Отправить сообщение для Александр Ривилис с помощью Skype™


Проверил acuisample_dg в Release mode с ObjectARX 2007 и AutoCAD 2008 SP1 (2007 у меня не установлен). Вылета нет. Если не установлены SP на AutoCAD 2007 - установи. Возможно поможет.
Александр Ривилис вне форума  
 
Автор темы   Непрочитано 09.02.2009, 13:07
#5
radioactive_wheel


 
Регистрация: 09.02.2009
Сообщений: 9


SP2 оказался бесполезен в борьбе с этой проблемой.
ммм.. опять же, насчет примера CAcUiDialog, он был проверен на соседнем компьютере с тем же неприятным результатом.
эта не первая автокадная проблема, которая начинает ассоциироваться с цифрой 2007 ). и от этой цифры нам никуда не деться. а возможно, что-то на моей машинке не так. и спасибо. наверное, стоит немного подождать и переустановить AutoCAD-VS-ObjectARX.
radioactive_wheel вне форума  
 
Непрочитано 09.02.2009, 13:31
#6
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,362
Отправить сообщение для Александр Ривилис с помощью Skype™


Проверяешь в Debug mode? Если да, то проверь в Release mode и выполни Rebuild solution. Надеюсь, что acuisample_dg ты не модифицировал? Опиши четкую последовательность проверки - приду домой попытаюсь проверить в AutoCAD 2007. Или если хочешь загрузи и проверь приложенный arx-файл. Команда: ACUISAMPLE
Вложения
Тип файла: zip AsdkAcUiSample.zip (9.7 Кб, 84 просмотров)

Последний раз редактировалось Александр Ривилис, 09.02.2009 в 13:36.
Александр Ривилис вне форума  
 
Автор темы   Непрочитано 09.02.2009, 13:47
#7
radioactive_wheel


 
Регистрация: 09.02.2009
Сообщений: 9


сейчас никакой последовательности. просто: для уверенности, вернул на место еще не затронутый компиляцией проект acuisample_dg, по вашему совету переключился на release. сделал проект, чтобы отогнать последние сомнения, проверил дату и время. кинул файл в Автокад, и набрал команду "acuisample". нажимаю на крестик- закрытия окошка, и через 2-секунды после закрытия окна - Автокад сообщает о фатальной ошибке "Unhandled Exception .." отправляя писать объяснительную в Autodesk ).

Последний раз редактировалось radioactive_wheel, 09.02.2009 в 14:00.
radioactive_wheel вне форума  
 
Автор темы   Непрочитано 09.02.2009, 14:01
#8
radioactive_wheel


 
Регистрация: 09.02.2009
Сообщений: 9


похоже, что сделанный вами файл работает без проблем.. спасибо.. будем думать).
radioactive_wheel вне форума  
 
Непрочитано 09.02.2009, 14:04
#9
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,362
Отправить сообщение для Александр Ривилис с помощью Skype™


Будем копать дальше?
Александр Ривилис вне форума  
 
Автор темы   Непрочитано 17.02.2009, 09:39
#10
radioactive_wheel


 
Регистрация: 09.02.2009
Сообщений: 9


немного отдохнув дома с градусником и вернувшись в эту тему, первым делом установил ObjectARX2008 вместо 2007-го.. несмотря на то, что Автокад 2007 версии, очень похоже на то, что програмка собирается замечательно работать.. ранее отмеченных ошибок не наблюдается +).
radioactive_wheel вне форума  
 
Непрочитано 17.02.2009, 12:25
#11
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,362
Отправить сообщение для Александр Ривилис с помощью Skype™


С ObjectARX 2008 могут быть проблемы под AutoCAD 2007. Главная проблема - arx-приложение может не загрузится под AutoCAD 2007. С большой вероятностью если ты снова скомпилируешь все с ObjectARX 2007, то у тебя все заработает нормально.
Александр Ривилис вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > DoModal() и пример из стандартного руководства по ObjectArx2007

Реверс. Автоматическая пакетная печать множества рамок (форматов) из пространства модели и листов
Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск