Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > Странный глюк


Автор: S.A.G. 25.3.2008, 15:46
Почему, программа, которая до этого прекрасно запускалась в отладочном режиме, вдруг перестала появляться на экране? smile Игнорируется даже запуск без отладки (Ctrl+F5) в режиме Debug. Уверен, кто-нибудь 100% сталкивался с проблемой. Совсем незнаю, в какую сторону копать, please help!

Автор: korian 25.3.2008, 15:59
имху она еще выполняется (в процессах ее не видно?)... а так без понятия.

Автор: S.A.G. 25.3.2008, 16:02
В процессах ее нет. Экзешник не запускается. Программа просто както неправильно собирается, наверное, потому, что сразу автоматом закрывается. "The program '[2008] Gomori.exe: Native' has exited with code 0 (0x0)." - В окне "Output".

Автор: korian 25.3.2008, 16:15
брик поинт на вхождение в main и дебагить  smile 

Автор: S.A.G. 25.3.2008, 16:16
Прога на основе модального диалога. Ставлю брейк на его инициализацию, а программа заканчивается не доходя до нее! В "Output" такое:

Код
'Gomori.exe': Loaded 'D:\Исходники\C++\VC++\Курсовая Гайна(Метод Гомори)\Debug\Gomori.exe', Symbols loaded.
'Gomori.exe': Loaded 'C:\WINDOWS\system32\ntdll.dll', No symbols loaded.
'Gomori.exe': Loaded 'C:\WINDOWS\system32\kernel32.dll', No symbols loaded.
'Gomori.exe': Loaded 'C:\WINDOWS\system32\user32.dll', No symbols loaded.
'Gomori.exe': Loaded 'C:\WINDOWS\system32\gdi32.dll', No symbols loaded.
'Gomori.exe': Loaded 'C:\WINDOWS\WinSxS\x86_Microsoft.VC80.DebugCRT_1fc8b3b9a1e18e3b_8.0.50727.805_x-ww_5508dba9\msvcr80d.dll', Symbols loaded.
'Gomori.exe': Loaded 'C:\WINDOWS\system32\msvcrt.dll', No symbols loaded.
'Gomori.exe': Loaded 'C:\WINDOWS\system32\MSCTF.dll', No symbols loaded.
'Gomori.exe': Loaded 'C:\WINDOWS\system32\advapi32.dll', No symbols loaded.
'Gomori.exe': Loaded 'C:\WINDOWS\system32\rpcrt4.dll', No symbols loaded.
The program '[2796] Gomori.exe: Native' has exited with code 0 (0x0).


Как побороть?

Добавлено через 1 минуту и 39 секунд
Цитата(korian @ 25.3.2008,  16:15)
брик поинт на вхождение в main и дебагить  smile

Ага - Step Into..., возврата нет. smile

Добавлено через 4 минуты и 30 секунд
Step Into на самом начале WinMain ниче не дает - просто 3 шажка к ретурн и все, ретурн у винды тоже очень долгий, неасилил. smile

Автор: korian 25.3.2008, 16:28
а в CWinApp::OnInitInstance или как там, сюда доходит?

Автор: S.A.G. 25.3.2008, 16:34
Я работаю с чистым WinApi, в WinMain у меня 3 строчки. В вызов диалога не заходит, а сразу идет на return.

Автор: S.A.G. 25.3.2008, 16:57
Почему среда не показывает окно программы?

Добавлено через 9 минут и 30 секунд
...Почему оно не работает, какого хрена ему надо??? Ктото может объяснить??

Автор: S.A.G. 25.3.2008, 18:18
DialogBox() возвращает -1, GetLastError - 0

Автор: S.A.G. 25.3.2008, 18:50
Проблема решена.

Автор: korian 25.3.2008, 19:01
WM_INITDIALOG возвращал FALSE? =)
или в Create?
короче, в чем проблема то была?

Автор: S.A.G. 25.3.2008, 19:29
Проблема была в том, что по каким-то причинам класс лист-контрола сначала регистрировался при загрузке commctrl.dll, а потом перестал. Причины известны разработчикам Microsoft. Устранил проблему, вызвав InitCommonControls() перед созданием диалога, чтобы явно зарегистрировать класс.

Автор: Earnest 27.3.2008, 11:14
Скорее непонятно, почему она у тебя раньше запускалась. Без инициализации коммон-контролс они (а с ними и диалог) не создается - это нормальное поведение. 
InitCommonControls()  собственно и загружет commctrl, стандартно она не грузится...
А раньше - либо лист-контрола не было, либо был код, который его инициализировал.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)