Russian Qt Forum
Ноябрь 09, 2024, 00:47
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Пользовательский интерфейс (GUI)
>
Создаю свое окно, дочернее к qt-шному через CreateWindow в другом потоке. Падает
Страниц:
1
[
2
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Создаю свое окно, дочернее к qt-шному через CreateWindow в другом потоке. Падает (Прочитано 12174 раз)
Caduceus
Гость
Re: Создаю свое окно, дочернее к qt-шному через CreateWindow в другом потоке. Падает
«
Ответ #15 :
Сентябрь 03, 2009, 14:11 »
А вот как это выглядит с движком:
Записан
Caduceus
Гость
Re: Создаю свое окно, дочернее к qt-шному через CreateWindow в другом потоке. Падает
«
Ответ #16 :
Сентябрь 03, 2009, 21:48 »
Тот минимальныйпример что я привел никого на мысль не натолкнул?
Записан
Tonal
Гость
Re: Создаю свое окно, дочернее к qt-шному через CreateWindow в другом потоке. Падает
«
Ответ #17 :
Сентябрь 04, 2009, 08:28 »
Я как-то наткнулся на то, что если для окна не реализовать обработку WM_GETTEXT + WM_GETTEXTLEN, то любой кто попросит его имя - зависнит.
Например зависала функция FindWindow если не указан класс. Причём в любом приложении.
Посмотри в исходники
Qt/MFC Migration Framework
Может поможет.
Кстати, гугель, по запросу "winapi child window in other thread" выдал интересную ссылку:
http://www.eggheadcafe.com/software/aspnet/33723942/childrenparent-window-in.aspx
Записан
Caduceus
Гость
Re: Создаю свое окно, дочернее к qt-шному через CreateWindow в другом потоке. Падает
«
Ответ #18 :
Сентябрь 04, 2009, 08:56 »
Спасибо большое.
ОБработка WM_GETTEXT + WM_GETTEXTLEN ситуацию не изменило. А вот Ваша сссылка с Гугла оченно меня огорчила. Дело значит совсем не в Qt.
Не понтяно тогда, почему если я это окно вешаю над ActiveX -ом, то все нормально...
Записан
Tonal
Гость
Re: Создаю свое окно, дочернее к qt-шному через CreateWindow в другом потоке. Падает
«
Ответ #19 :
Сентябрь 04, 2009, 09:57 »
Про WM_GETTEXT я привёл просто для примера, не ожидая что они на что-нибудь повлияют.
По ссылке, вроде упоминали о каких-то обходных путях?
Про ActiveX - точно не уверен, но, возможно там не настоящее дочернее окно - не даром протокол встраивания дублирует функции и события WinApi.
В любом случае, MS туда очень много наворочили...
Записан
Caduceus
Гость
Re: Создаю свое окно, дочернее к qt-шному через CreateWindow в другом потоке. Падает
«
Ответ #20 :
Сентябрь 04, 2009, 10:08 »
Ураа, проблема решена. Видимо, если выносить окно в отделный поток, то гасится только цикл сообщений родителя этого кона в другом потоке. У меня сначала гасились все сообщения моего диалога, так как оно было родителем окна из второго потока. Выход из ситуации - сделать окно-заглушку в первом потоке и уже оно будет родителем окна во втором потке. То есть его цикл может и гасится - но пофигу становится. Именно поэтому у меня и работало с ActiveX-ом - там же ActiveX сам был этим окном-заглушкой.
И сейчас у меня полнофункциональная красота:
Записан
Страниц:
1
[
2
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...