Йоксель » Главный форум

Падает 1С на ЗагрузитьИзТаблицы()

(4 posts)

Тэги:

  1. JohnyDeath
    Участник

    Обнаружилось падение 1С на методе ЗагрузитьИзТаблицы() (тестовая обработка внутри)
    Падает на 25-м хотфиксе. На 16-м всё нормально. Где взять остальные не знаю.
    Что-то, видать, в этой картинке перестало нравиться Йокселю.

    Attachments

    1. bum.zip (32.6 KB, 122 downloads) 15 года(лет) old
    Отправлено 15 года(лет) назад #
  2. В Йокселе с определенного момента реализована оптимизированная загрузка данных из существующей таблицы. Как оказалось, оптимизированный вариант не работает с OLE-объектами. Придется откатываться на старый медленный вариант. Исправленную версию Йокселя вышлю мылом через некоторое время.

    Для людей, хорошо знающих тему COM/MFC/Multithreading, некоторая информация к размышлению (может, кто-то сможет что-то подсказать):

    Обламывается QueryInterface при попытке запросить IPersistStorage для OLE-объекта (внутри COleClientItem::Serialize). При трассировке выясняется, что происходит вызов GetCurrentThreadId и сравнение с некоторым сохраненным значением. Т.к. код 1С работает во втором (не основном) потоке, то эти значения не совпадают. Когда эти значения не совпадают, всегда возвращается NULL. Если пропатчить код проверки, то все работает нормально (но это не выход). Можно, конечно, запускать код 1С в основном потоке, а загрузку во втором, но тогда появятся проблемы с ЗАГРУЖЕННЫМИ OLE-объектами - по логике, с ними нельзя будет работать из основного потока. Возможно, тут какая-то заморочка с "Threading model".

    Отправлено 15 года(лет) назад #
  3. JohnyDeath
    Участник

    Олег, спасибо ещё раз за столь оперативное исправление ошибки и за прекрасную компоненту.

    Отправлено 15 года(лет) назад #
  4. Sergey66
    Участник

    Папа, ты это сейчас с кем разговаривал..?

    Отправлено 15 года(лет) назад #

RSS экспорт этой темы

Отправить сообщение

Вы должны войти в систему, чтобы оставлять сообщения.