информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Где водятся OGRыПортрет посетителяАтака на Internet
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Сдается мне, 09.05.12 21:41  Число просмотров: 2757
Автор: Neznaika <Alex> Статус: Member
<"чистая" ссылка>
что обработка сообщений - должна быть внутри функции DialogThreadFunction (а не снаружи).
<programming>
[Win32] виснет DialogBoxParam в ActiveX в IE9 29.04.12 02:16  
Автор: void <Grebnev Valery> Статус: Elderman
Отредактировано 11.05.12 06:10  Количество правок: 2
<"чистая" ссылка>
Есть STA ActiveX. В одном из COM методов создаётся UI thread:

HRESULT SomeCOMmethod()
{
::CreateThread(NULL, 0, DialogThreadFunction, NULL, 0, NULL);

// do staff
...

WaitForDialogWithMessagePumping();

}

В UI потоке в функции DialogThreadFunction создаётся диалог DialogBoxParam. Для IE7/IE8 - работает нормально. Для IE9 - виснет при вызоке DialogBoxParam.
Как это исправить?

Спасибо.
Спасибо всем. Пофиксил. Была неправильно написана фунция... 11.05.12 06:25  
Автор: void <Grebnev Valery> Статус: Elderman
<"чистая" ссылка>
Спасибо всем. Пофиксил. Была неправильно написана фунция WaitForDialogWithMessagePumping.
Я там сделал улучшение и по глупости убрал подкачку сообщений Windows.
Когда восстановил подкачку сообщений - всё заработало. Но странное дело - в IE7/IE8 работало и так. Но ведь не должно было работать!

IE9 - сразу дал понять, что номер не пройдёт.
Сдается мне, 09.05.12 21:41  
Автор: Neznaika <Alex> Статус: Member
<"чистая" ссылка>
что обработка сообщений - должна быть внутри функции DialogThreadFunction (а не снаружи).
Я писал в нитку по памяти и ошибся На самом деле диалог... 11.05.12 06:08  
Автор: void <Grebnev Valery> Статус: Elderman
<"чистая" ссылка>
> что обработка сообщений - должна быть внутри функции
> DialogThreadFunction (а не снаружи).

Я писал в нитку по памяти и ошибся На самом деле диалог создаётся при помощи DialogBoxParam (а не CreateDialogParam). Так что обработку сообщений имплементпровать не надо.
а что у тебя на диалоге есть? просто MessageBox() пробовал? 08.05.12 23:33  
Автор: + <Mikhail> Статус: Elderman
<"чистая" ссылка>
Была неправильно имплементирована функция... 11.05.12 06:15  
Автор: void <Grebnev Valery> Статус: Elderman
<"чистая" ссылка>
Была неправильно имплементирована функция WaitForDialogWithMessagePumping. Я её пофиксил и всё заработало. Всё равно спасибо. Имено благодаря тому, что попробовал MessageBox(), я натолкнулся но баг в Wait функции.

Спасибо.
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach