Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.119.131.72] |
|
Сообщ.
#1
,
|
|
|
Visual C 2010
Установил на диалог компонент CLinkCtrl - диалог перестал открываться, ошибок не выводится. Может что-то подключать надо или обязательная инициализация? |
Сообщ.
#2
,
|
|
|
А если его удалить с формы - то норм открывается? Моджет ты там руками что то нечаяно грохнул?
Добавлено Еще у диалоге можно задать один флаг, при создании, забыл блин как он там называется, что то там IGNORE ERROR, кароче он нужен для того, чтоб даже если во время создания диалога произошла ошибка, то всеравно его показать. Вспомпню напишу как он там называется. |
Сообщ.
#3
,
|
|
|
удаляю - диалог открывается!
создал пустой диалоговый MFC-проект, компилирую - диалог "О программе" открывается, добавляю в "О программе" CLinkCtrl, компилирую - не открывается |
Сообщ.
#4
,
|
|
|
Во, нашел - https://msdn.microsoft.com/ru-ru/library/wi...esktop/ff729172
Цитата DS_NOFAILCREATE Creates the dialog box even if errors occur — for example, if a child window cannot be created or if the system cannot create a special data segment for an edit control. Вот попробуй этот стиль диалогу выставить, посмотри в каком контроле трабл. Добавлено Цитата Vladimir_ @ создал пустой диалоговый MFC-проект, компилирую - диалог "О программе" открывается, добавляю в "О программе" CLinkCtrl, компилирую - не открывается Попробуй посмотреть что возвращает GetLastError ? Добавлено Цитата Vladimir_ @ добавляю в "О программе" CLinkCtrl, компилирую - не открывается Кстати как добавляешь? Просто кинул на форму, скомпилил и запустил - диалог не открывается? Если так, попробуй всетаки проверить функцией GetLastError - есть какая нибудь ошибка или нет. Добавлено Еще попробуй пройтись под отладчиком, особенно место, где создаеться диалог. Желательно с заходом внутрь. Добавлено Как зайти внутрь - там надо прописать в настройках студии сервер с майкрософтовскими символами. И подключить их, тогда ты сможешь отлаживать MFCшные классы и методы включая виндовые функции, вот тут инструкция по подключению: https://msdn.microsoft.com/ru-ru/library/wi...t_symbol_server Добавлено Ну или если вообще ниче не поможет, скинь минимальный проект сюда, я может завтра поковыряю. Правда у меня 2015 студия. Ну и еще один момент, если нет ошибок, и ничего не помогло, то может быть студия криво встала? Ну мало ли Добавлено К слову, чтоб в коде не писать GetLastError, ты можешь просто под отладчиком пройтись, дойти до функции DoModal/Create или что там вызываеться пройти ее, а после в Watcher'е вдолбить @err, оно покажет статус ошибки. |
Сообщ.
#5
,
|
|
|
В общем проходит всю функцию INT_PTR CDialog::DoModal(), в CATCH_ALL(e) не вылетает, возвращает -1.
После функции @err = 0 Может для этого контрола нужен какой-то дополнителный вызов как с Rich Edit? |
Сообщ.
#6
,
|
|
|
Цитата Vladimir_ @ Может для этого контрола нужен какой-то дополнителный вызов как с Rich Edit? Если мне не изменяет память, то CLinkCtrl просто подобие Label, лейбы, только с возможностью ткнуть по ней и перейти на указанный веб адрес, там нужно только указать заголовок и адрес, больше там вроде ниче не надо указывать, да и как вообще какой то контрол может влиять на поведение диалога? Ему даже член класса не нужен нафиг. Там полюбому в чем то косяк. Добавлено Попробуй всетаки заморочиться с сервером символов, там просто нужно прописать сервер символов, создать папку, как указано по ссылке выше, и попробуй создание диалога продебаж полностью, с заходом внутрь, там где он создает все дочерние окна, вот когда дойдешь до создания своего CLinkCtrl, вот там внимательно смотри на возвращаемые значения, и проверяй GetLastError через вотчер(@err). Я сейчас просто немного занят, чтоб вплотную разобраться с твоей проблемой, да и не в том состоянии )) |