Обнаружилось падение 1С на методе ЗагрузитьИзТаблицы() (тестовая обработка внутри)
Падает на 25-м хотфиксе. На 16-м всё нормально. Где взять остальные не знаю.
Что-то, видать, в этой картинке перестало нравиться Йокселю.
Йоксель » Главный форум
Падает 1С на ЗагрузитьИзТаблицы()
(4 posts)-
Отправлено 15 года(лет) назад #
-
В Йокселе с определенного момента реализована оптимизированная загрузка данных из существующей таблицы. Как оказалось, оптимизированный вариант не работает с OLE-объектами. Придется откатываться на старый медленный вариант. Исправленную версию Йокселя вышлю мылом через некоторое время.
Для людей, хорошо знающих тему COM/MFC/Multithreading, некоторая информация к размышлению (может, кто-то сможет что-то подсказать):
Обламывается QueryInterface при попытке запросить IPersistStorage для OLE-объекта (внутри COleClientItem::Serialize). При трассировке выясняется, что происходит вызов GetCurrentThreadId и сравнение с некоторым сохраненным значением. Т.к. код 1С работает во втором (не основном) потоке, то эти значения не совпадают. Когда эти значения не совпадают, всегда возвращается NULL. Если пропатчить код проверки, то все работает нормально (но это не выход). Можно, конечно, запускать код 1С в основном потоке, а загрузку во втором, но тогда появятся проблемы с ЗАГРУЖЕННЫМИ OLE-объектами - по логике, с ними нельзя будет работать из основного потока. Возможно, тут какая-то заморочка с "Threading model".
Отправлено 15 года(лет) назад # -
Олег, спасибо ещё раз за столь оперативное исправление ошибки и за прекрасную компоненту.
Отправлено 15 года(лет) назад # -
Папа, ты это сейчас с кем разговаривал..?
Отправлено 15 года(лет) назад #
Отправить сообщение
Вы должны войти в систему, чтобы оставлять сообщения.