Здравствуйте, c-smile, Вы писали:
CS>Здравствуйте, AntiB, Вы писали:
CS>Если соберешь минимальный пример где проблема воспроизводима — то фикс будет на следующий день.
полноценный пример долго собирать:
class AsyncSetText: public gui_task {
private:
HELEMENT HElement;
std::wstring str;
public:
AsyncSetText( HELEMENT he, std::wstring Str ) { AsyncSetText::HElement = he;
AsyncSetText::str = Str; }
virtual void exec() { HTMLayoutSetElementInnerText16( AsyncSetText::HElement,
AsyncSetText::str.c_str(),
AsyncSetText::str.length() );
HTMLayoutUpdateElement( AsyncSetText::HElement,
TRUE ); } // здесь TRUE или FALSE - нету разницы в результате
};
Так создаю новый объект и добавляю в очередь (hWnd — это хендл окна (думаю и так понятно), he — HELEMENT нужного элемента):
queue::push( new AsyncSetText( he, Str ),
hWnd );
Если так делать — не работает.
Пробовал в том же месте где этот код не работает вставить просто: HTMLayoutSetElementInnerText16, HTMLayoutUpdateElement — все норм, но проблема в том что это место вызывается с GUI потока (обработка нажатие на линк/кнопку (неважно)). Попробуйте написать/изменить пример с моим классом.
Если ничего не получиться, соберу полноценный проект.
Заранее Спасибо!
С Уважением, AntiB