Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с CFontDialog, получаю Run-Time Check Failure #2 
V
    Опции темы
DigitSphinx
Дата 20.9.2007, 16:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 28.4.2007
Где: Москва

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



Искал на форуме ничего полезного по проблеме не нашел (может плохо искал  smile )
Код функции
Код

LOGFONT lf;
CFont font;
memset(&lf, 0, sizeof(LOGFONT));
lf.lfHeight = 20;
CFontDialog dlg(&lf);
if (dlg.DoModal())
{
      memcpy(&lf, &dlg.m_lf, sizeof(LOGFONT));
      font.CreateFontIndirect(&lf); 
}

получаю
Цитата

Run-Time Check Failure #2 - Stack around the variable 'dlg' was corrupted.

В чем проблема ?



--------------------
Чтобы пробить стену лбом нужен или большой разбег, или много лбов.
(Альберт Эйнштейн)
Умен ты или глуп, велик ты или мал, не знаем мы, пока ты слова не сказал.
(Альберт Эйнштейн)
user posted image
PM MAIL ICQ   Вверх
zkv
Дата 20.9.2007, 17:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Участник Клуба
Сообщений: 2133
Регистрация: 23.7.2006
Где: Санкт-Петербург

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



ничего преступного в твоем коде не нашел. 
У меня он работает нормально.

Добавлено через 15 секунд
Попробуй ребилд сделать.
PM MAIL   Вверх
DigitSphinx
Дата 20.9.2007, 17:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 28.4.2007
Где: Москва

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



Вот на этом тоже вылетает !!!!
Код

CFontDialog dlg;
dlg.DoModal();

 smile  smile

Добавлено через 37 секунд
Перепробовал 100 вариантов  smile  smile  smile

Добавлено через 1 минуту и 54 секунды
Другие диалоги работают нормально !


--------------------
Чтобы пробить стену лбом нужен или большой разбег, или много лбов.
(Альберт Эйнштейн)
Умен ты или глуп, велик ты или мал, не знаем мы, пока ты слова не сказал.
(Альберт Эйнштейн)
user posted image
PM MAIL ICQ   Вверх
zkv
Дата 20.9.2007, 17:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Участник Клуба
Сообщений: 2133
Регистрация: 23.7.2006
Где: Санкт-Петербург

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



Цитата(DigitSphinx @  20.9.2007,  17:39 Найти цитируемый пост)
Вот на этом тоже вылетает !!!!

думаю медицина здесь бессильна... Создай новый проект, попробуй в нем.

Это сообщение отредактировал(а) zkv - 20.9.2007, 17:42
PM MAIL   Вверх
DigitSphinx
Дата 20.9.2007, 17:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 28.4.2007
Где: Москва

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



Нет все равно не работает.
Код

CFont font;
LOGFONT lf;
memset(&lf, 0, sizeof(LOGFONT));
CFontDialog dlg(&lf);
if (dlg.DoModal())
{
    dlg.GetCurrentFont(&lf);
    font.CreateFontIndirectW(&lf);
}

После выбора шрифта вылетает, как впрочем я и боялся.



--------------------
Чтобы пробить стену лбом нужен или большой разбег, или много лбов.
(Альберт Эйнштейн)
Умен ты или глуп, велик ты или мал, не знаем мы, пока ты слова не сказал.
(Альберт Эйнштейн)
user posted image
PM MAIL ICQ   Вверх
Greeen
Дата 20.9.2007, 21:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



DigitSphinx, все прекрасно работает (VS2005)


--------------------
Подпись больше не нужна
PM MAIL ICQ Skype   Вверх
DigitSphinx
Дата 20.9.2007, 21:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 28.4.2007
Где: Москва

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



Да по ходу проблема где-то в другом месте, я пытаюсь найти но без успешно !
 smile

Добавлено через 11 минут и 50 секунд
После объявления CFontDialog dlg;
Указатель this становится равным нулю , а в следующем коде прога вылетает не по выходу из функции а на втором Invalidate(0);
Код

Invalidate(0);
CFontDialog dlgFont;
Invalidate(0);
if (dlgFont.DoModal()==IDOK)
{
    LOGFONT lp;
    dlgFont.GetCurrentFont(&lp);
    CFont cf;
    cf.CreateFontIndirect(&lp);  
}



--------------------
Чтобы пробить стену лбом нужен или большой разбег, или много лбов.
(Альберт Эйнштейн)
Умен ты или глуп, велик ты или мал, не знаем мы, пока ты слова не сказал.
(Альберт Эйнштейн)
user posted image
PM MAIL ICQ   Вверх
DigitSphinx
Дата 20.9.2007, 22:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 28.4.2007
Где: Москва

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



Прикрепил проект , буду очень признателен если кто поможет.
P.S. это Лаба по комп. графике .

Присоединённый файл ( Кол-во скачиваний: 8 )
Присоединённый файл  Nadra_L1.rar 49,37 Kb


--------------------
Чтобы пробить стену лбом нужен или большой разбег, или много лбов.
(Альберт Эйнштейн)
Умен ты или глуп, велик ты или мал, не знаем мы, пока ты слова не сказал.
(Альберт Эйнштейн)
user posted image
PM MAIL ICQ   Вверх
Greeen
Дата 20.9.2007, 23:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Че то ты как то криво приаттачил файлик.


--------------------
Подпись больше не нужна
PM MAIL ICQ Skype   Вверх
DigitSphinx
Дата 21.9.2007, 00:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 28.4.2007
Где: Москва

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



Это весь проект , проблема в файле “Nadra_L1Dlg.cpp” после брейкпойнта начинается
Кстати VS 2005.


--------------------
Чтобы пробить стену лбом нужен или большой разбег, или много лбов.
(Альберт Эйнштейн)
Умен ты или глуп, велик ты или мал, не знаем мы, пока ты слова не сказал.
(Альберт Эйнштейн)
user posted image
PM MAIL ICQ   Вверх
Greeen
Дата 21.9.2007, 01:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Не поверишь, у меня нормально скомпилился и ни разу не вылетел. Последовательность действий - запустил с дебагом, нажал кнопку Font, поменял шрифт и нажал OK.


--------------------
Подпись больше не нужна
PM MAIL ICQ Skype   Вверх
zkv
Дата 21.9.2007, 09:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Участник Клуба
Сообщений: 2133
Регистрация: 23.7.2006
Где: Санкт-Петербург

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



Цитата(Greeen @  21.9.2007,  01:04 Найти цитируемый пост)
Не поверишь, у меня нормально скомпилился и ни разу не вылетел.

тоже самое.
PM MAIL   Вверх
DigitSphinx
Дата 21.9.2007, 13:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 28.4.2007
Где: Москва

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



Думал может проблема с жестким диском, Scandisk показал что все ОК
А может проблема вообще в проге где-то в другом месте , вставил кусок кода в OnInitDialog все равно вылетает run-time error .
Понятие не имею в чем проблема .
все равно спасибо вам ребята !!!


--------------------
Чтобы пробить стену лбом нужен или большой разбег, или много лбов.
(Альберт Эйнштейн)
Умен ты или глуп, велик ты или мал, не знаем мы, пока ты слова не сказал.
(Альберт Эйнштейн)
user posted image
PM MAIL ICQ   Вверх
Ln78
Дата 21.9.2007, 17:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



DigitSphinx, а ты всё время с одним и тем же проектом пробовал? Если то же самое, что ты сюда разместил, скопировать в другое место, и оттранслировать такой же эффект? Мне кажется, по крайней мере в прежних версиях VS я с этим встречался, когда непонятно какой-то сбой где-то то ли в *.suo, то ли в *.ncb сохраняется, если их удалить, ошибка пропадает. А с твоим проектом: присоединяюсь к уже отписавшимся, по всякому вызывал диалог, тестировал, никаких неожиданносей не было. Да оно и в коде никакого криминала не видно.
PM MAIL   Вверх
DigitSphinx
Дата 21.9.2007, 17:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 28.4.2007
Где: Москва

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



Ln78, я создал новый проект вставил туда 

Код

CFontDialog dlgFont;
if (dlgFont.DoModal()==IDOK)
{
    LOGFONT lp;
    dlgFont.GetCurrentFont(&lp);
    CFont cf;
    cf.CreateFontIndirect(&lp);  

}


Ошибка такая же.
Основной проект почистил и перенес на другой диск – все равно ошибка.
Переустановил студию – все равно ошибка.
Перенес на другой комп – ошибка.
Ошибок вылазеет 3
1. 
Цитата

“Unhandled exception at 0x00000000 in Nadra_L1.exe: 0xC0000005: Access violation reading location 0x00000000.”

Поскольку (почему-то) CWND основного окна становится NULL.
2.
Цитата

 Run-Time Check Failure #2 - Stack around the variable 'dlg' was corrupted.

dlg у меня это CFontDialog dlg
3. 
Цитата

Run-Time Check Failure #2 - Stack around the variable ‘lf' was corrupted.

lf это LOGFONT lf
и вот каждый раз VS меня радует одним из них.
Послал знакомому , он откомпилил ВСЕ В ПОРЯДКЕ.
zkv и greeen говорят что у них тоже все работает.
Может я не так компилю ?!  smile  я нажимаю F5.




--------------------
Чтобы пробить стену лбом нужен или большой разбег, или много лбов.
(Альберт Эйнштейн)
Умен ты или глуп, велик ты или мал, не знаем мы, пока ты слова не сказал.
(Альберт Эйнштейн)
user posted image
PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




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


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

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