Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с кнопкой на ToolBar'e 
V
    Опции темы
FlyDragon
  Дата 24.12.2007, 11:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 17.3.2007

Репутация: нет
Всего: нет



Добрый день.

Возникла следующая проблема:
создал кнопку на ToolBar'e, добавил ON_COMMAND для нее.
но в ходе выполнения программы при нажатии кнопки и ввода данных
 запускается дебаг 
и указывает на CRuntimeClass* pClassThis = GetRuntimeClass();

в чем причина?

Добавлено через 8 минут и 56 секунд
Sorry  
можно перенести тему в С++/MFC
PM MAIL   Вверх
Earnest
Дата 24.12.2007, 14:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



ASSERT что ли выпадает? Так и говори, потому что "дебаг" запускается вместе в процессом, если ты в дебаге...
Приведи более подробную информацию, т.е. место кода, куда тебя бросает ASSERT. MFC-кода, естественно.


--------------------
...
PM   Вверх
FlyDragon
Дата 24.12.2007, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 17.3.2007

Репутация: нет
Всего: нет



Earnest,  objcore.cpp если тебя это интересует
Код

BOOL CObject::IsKindOf(const CRuntimeClass* pClass) const
{
    ASSERT(this != NULL);
    // it better be in valid memory, at least for CObject size
    ASSERT(AfxIsValidAddress(this, sizeof(CObject)));

    // simple SI case
    CRuntimeClass* pClassThis = GetRuntimeClass();    <------------указывает сюда
    return pClassThis->IsDerivedFrom(pClass);
}

PM MAIL   Вверх
Earnest
Дата 24.12.2007, 15:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



Вообще-то это тебя должно интересовать  smile 
Посмотри отладчиком на this. ASSERT, конечно, выпадает не на той строчке, что ты говоришь, а на предыдущей (а отладчик показывает следующий оператор). И этот ASSERT тебе практически русским языком говорит, что this у тебя какой-то левый. Где он испортился - смотри выше по стеку. Отладчиком.




--------------------
...
PM   Вверх
FlyDragon
Дата 25.12.2007, 18:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 17.3.2007

Репутация: нет
Всего: нет



Earnest,  можно ли с помощью визарда добавить метод вызываемы при нажатии?
PM MAIL   Вверх
Earnest
Дата 25.12.2007, 21:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



Можно, если в диалог, если в главное окно - по-моему нет. Я визардами не пользуюсь (кроме как при создании проекта).
Но на твою проблему это никак не влияет. Кто-бы не добавил код - он неправильный, видимо.


--------------------
...
PM   Вверх
FlyDragon
  Дата 3.1.2008, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 17.3.2007

Репутация: нет
Всего: нет



Все исправил, надо было просто ID кнопки поменять
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0710 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.