Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.135.183.89] |
|
Сообщ.
#1
,
|
|
|
Добрый день, уважаемые форумчане!
Имеем 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 - код работает нормально. Что можете посоветовать, как быть? Заранее спасибо! |
Сообщ.
#2
,
|
|
|
1) погуглить насчет проблем именно с этим сообщением - возможно, известный баг
2) попробовать самим заполнить все структуры в соответствии с описанием на msdn и послать такое сообщение 3) попробовать воспроизвести без ole объектов |
Сообщ.
#3
,
|
|
|
Цитата Fr0sT @ 1) погуглить насчет проблем именно с этим сообщением - возможно, известный баг 2) попробовать самим заполнить все структуры в соответствии с описанием на msdn и послать такое сообщение 3) попробовать воспроизвести без ole объектов 1) гуглили - не помогло. 2) заполняли - не помогло 3) без ole криво вставляется doc-документ, содержащий сложные элементы, например, таблицы |