HTMLayout и многопоточность
От: AntiB  
Дата: 05.01.10 13:02
Оценка:
Доброе время суток!

У меня следующая проблема:
Используя HTMLayout версии 3.3.1.41 и имею таблицу <table> и пару потоков. Есть 1 гуи поток который все сообщения обрабатывает:

    while( (result = GetMessage( &msg, (HWND)NULL, 0, 0 )) != 0) {

        if (result == -1)
            return result;

        htmlayout::queue::execute();

        TranslateMessage( &msg );
        DispatchMessage( &msg );

    }

и есть другие потоки которые должны изменять таблицу, делаю они это используя очередь (htmlayout::queue), то есть создается класс который потом становиться в очередь.
У меня таблица следующего вида:
<table>
<tr><th>Some text</th></tr>
</table>
и хочу добавить еще одну строку используя HTMLayoutSetElementHtml (для <table>) и where=SIH_APPEND_AFTER_LAST или например HTMLayoutSetElementInnerText16 для тега <div>, после этого делаю HTMLayoutUpdateElement (как только не пробовал, renderNow=TRUE, renderNow=FALSE, эффект тот же — не перерисовывает пока не подергать мышкой) если использовать HTMLayoutUpdateWindow — работает, но если часто вызывать — процессор 50% обеспеченно!

Вопрос — как можно обновить элемент?

Заранее спасибо!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.