Тема: Ошибка при добавлении переменной к ComboBox

Никто не сталкивался с проблемой двух ComboBox на форме диалога? Т.е. есть один ComboBox, объявлена переменная и в AutoCAD всё загружается. А когда к нему добавляешь собрата с объявленной переменной, то в AutoCAD вылетает ошибка при вызове функции.
MSVS 2005, OARX 2008

Re: Ошибка при добавлении переменной к ComboBox

не, к акаду это никакого отношения не имеет. у меня есть формы где по 5-6 комбобоксов и все работает.

расскажи подробней как падает акад. и проверь правильность задания имени комбобокса и связь этого имени в DoDataExchange с его переменной.
еще попробуй перед DoModal() вставить CAcModuleResourceOverride resOver; для переключения ресурсов.

(изменено: Sergei, 1 июня 2010г. 16:38:49)

Re: Ошибка при добавлении переменной к ComboBox

Не то что бы падает. Просто приложение не стартует и ошибка без текста.
Комбобоксы описаны вот так:
DDX_Control(pDX, IDC_COMBO1, m_KT_1);
DDX_Control(pDX, IDC_COMBO1, m_KT_2);
Как только добавляю переменную второго, приложение запускаться отказывается.

Re: Ошибка при добавлении переменной к ComboBox

стесняюсь спросить, а в закладке "Properties" значение ID у обоих комбобоксов IDC_COMBO1?

Re: Ошибка при добавлении переменной к ComboBox

Николай пишет:

стесняюсь спросить, а в закладке "Properties" значение ID у обоих комбобоксов IDC_COMBO1?

Улыбнуло (кажется так это на молодежном жаргоне). smile

(изменено: Sergei, 1 июня 2010г. 17:23:31)

Re: Ошибка при добавлении переменной к ComboBox

=)))) Вы не подумайте, у всех бывает. Строчки воссоздавал копированием. АЙди разных у них.
DDX_Control(pDX, IDC_COMBO1, m_KT_1);
DDX_Control(pDX, IDC_COMBO2, m_KT_2);
з.ы. Даже проверил, маневр такой в msvs не работает=-)

Re: Ошибка при добавлении переменной к ComboBox

так я не понял, теперь все работает или просто на форуме ошибся с двумя одинаковыми ID, и проблема осталась?

Re: Ошибка при добавлении переменной к ComboBox

Второй вариант. Проблема есть и по сей момент.

Re: Ошибка при добавлении переменной к ComboBox

а с обработчиками событий все в порядке?
я так понимаю, что в акад приложение все-таки грузится. по точкам остановки ходил?

PS: самый простой вариант, это код в студию :), т.к. я не вижу никаких пробем в том, что на форме висят два комбобокса.

(изменено: Sergei, 1 июня 2010г. 17:56:31)

Re: Ошибка при добавлении переменной к ComboBox

Сейчас перенёс всё это дело в MSVS 08, всё работает.
А дальше больше: создал пустой проект (в 2005) с одной функцией и двумя боксами, тоже всё в порядке. Код выложу, но чуть попозже.
CAcModuleResourceOverride resOver; //прописано изначально

И по поводу точек остановки отпишусь.

Re: Ошибка при добавлении переменной к ComboBox

Получилось непонятная непонятка. Создал проект с чистого листа, нашлёпал комбобоксы, насыпал переменных и всё работает!

Николай, подскажите, пожалуйста, как правильно отладить проект? Просто для меня процесс заключается в: собрал arx -> открыл КАД -> подключил -> не то -> отключил. Наверно можно проще?

(изменено: Александр Ривилис, 2 июня 2010г. 01:16:50)

Re: Ошибка при добавлении переменной к ComboBox

Sergei пишет:

Создал проект с чистого листа, нашлёпал комбобоксы, насыпал переменных и всё работает!

Не исключено, что проблема была связана с Incremental linking, который я всегда отключаю, да и Precompiled Headers заодно - лучше медленнее, но надежней.

Sergei пишет:

Просто для меня процесс заключается в: собрал arx -> открыл КАД -> подключил -> не то -> отключил. Наверно можно проще?

Проще не бывает. Ты еще забыл сказать про загрузил/выгрузил приложение, т.к. для того чтобы собрать его повторно нужно чтобы оно не было загружено в AutoCAD.

Re: Ошибка при добавлении переменной к ComboBox

Николай, подскажите, пожалуйста, как правильно отладить проект?

ну, я делаю так. во-первых, если в солюшене больше одного проекта, то выставляю текущим тот, который меня на данный момент интересует. потом компилирую его в Debug. когда откомпилировался, надимаю F5 (Start Debuging). Выпадает окошко, смысл которого указать, при помощи чего буду запускать arx-файл (в верхний, вроде комбобокс хотя может и edit, так сразу и не вспомню, давно этого окна не видел :) вбиваю c:\program files\autocad.. .\acad.exe и нажимаю OK).
Дальше грузится акад. Чтоб не было запарок с постоянной подгрузкой требуемой аэрыксины в акад, прописываю ее в автозагрузку. Ну и собственно все. растыкиваю точки остановки в проекте и дебажу :)
при последующих отладках студия не спрашивает меня про путь к акаду (она его уже запомнила) и arx-файл уже в акад загружен.

PS: Есть также вариант запускать акад, потом цепляться к требуемой arx в уже загруженном акаде через студию, то выглядит это достаточно коряво, и нада сильно много клацать мышкой :) а я этого не люблю.