| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > JvRichEdit ошибка при вставке OLE-объекта-doc файл |
| Автор: srjfrl 27.7.2018, 20:36 |
| Добрый день, уважаемые форумчане! Имеем it-проект, работающий с БД. Для объектов одной из его подсистем требуется, чтобы пользователь имел возможность привязывать сопроводительную документацию в формате doc MS Word. Ранее было принято решение использовать компонент JvRichEdit (из JEDI VCL). В нем реализована поддержка вставки OLE-объектов, в частности документов MS Word. В результате без проблем вставлялись doc-файлы любой сложности и сохранялись в нашу БД, при этом их без проблем можно было распечатать, используя компонент frxRichView из генератора отчетов FastReport. Но начиная с Win 10 версия 1803, при вызове JvRichEdit.Lines.SaveToStream(ms) возникает ошибка (SaveToStream используем, чтобы потом полученный ms: TMemoryStream сохранить в БД). При этом вставка doc-документа, т.е. вызов JvRichEdit.InsertObjectDialog, проходит и сейчас нормально и doc-документ вставляет нормально. Ошибка при вызове JvRichEdit.Lines.SaveToStream(ms) такая: сначала выскакивает Invalid floating point operation, затем access violation at address 73AD75E1 in module 'RICHED20.dll' Начали копаться в JvRichEdit.pas - ошибку вызывает вызов SendMessage(FRichEdit.Handle, EM_STREAMOUT, TextType, LPARAM(@EditStream)) в методе TJvRichEditStrings.DoExport; Есть подозрение, что в Microsoft что-то намудрили с библиотекой RichEd20.dll в новой версии Win10. Во всех предыдущих версиях Windows даже в более ранней Win10 - код работает нормально. Что можете посоветовать, как быть? Заранее спасибо! |