wxAutomationObject и wxThread, невозможно создать OLE объект из дочернего потока |
Здравствуйте, гость ( Вход | Регистрация )
wxAutomationObject и wxThread, невозможно создать OLE объект из дочернего потока |
Iron Bug |
15.6.2010, 14:22
Сообщение
#1
|
Профессионал Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: 12 |
Наблюдаю странное поведение при создании OLE объекта в wxWidgets.
(Компилю в msvc 8.0, wxWidgets 2.8.10, с 2.8.11 тоже проверила - та же беда) Пытаюсь открыть Excel, чтобы туда свалить данные. Код такой:
Когда запускаю это в основном потоке (в методе формы, унаследованной от wxFrame) - res равен true и всё пучком. Далее, захотелось вынести этот кусок в параллельный поток (используя wxThread) и вот тут поджидала засада: тот же кусок в параллельном потоке просто напрочь отказывается работать: res всегда равен false. Даже при попытке передачи указателя на объект между потоками он "теряет свои магические свойства" - то есть, на попытки вызова методов в дочернем потоке возвращает false и нули, а из основного потока всё без проблем. Внутри метода CreateInstance в обоих случаях вызывается CoCreateInstance, причём с совершенно одинаковыми параметрами. В одном случае он возвращает true, в другом - false. В чём может быть проблема? Сообщение отредактировал Iron Bug - 15.6.2010, 14:43 |
|
|
Текстовая версия | Сейчас: 22.11.2024, 6:51 |