Всем здрасте,
Есть
dll, которая находит текст в
MSWord, и вставляет вместо него свой (работало все – на ура).
Но с некоторых пор
function FindAndPasteTextDoc(AFindText, APasteText: widestring;
AUnderLine, ABold, AItalic, ACountReplace: integer;
AColor: olevariant):boolean; export;
begin
StartOfDoc;
showmessage('');
FindAndPasteTextDoc := true;
try
TypeDos_Templs.Selection.Find.Text := AFindText;
TypeDos_Templs.Selection.Find.Replacement.Text := APasteText;
TypeDos_Templs.Selection.Find.Forward := True;
…
if ACountReplace = 1 then
TypeDos_Templs.Selection.Find.Execute(Replace := wdReplaceOne)
else TypeDos_Templs.Selection.Find.Execute(Replace := wdReplaceAll);
except
FindAndPasteTextDoc := false;
На строке
TypeDos_Templs.Selection.Find.Replacement.Text := APasteText;
Если «
APasteText» длиной более 255 символов ошибка
… exception class EOleException with message 'Слишком длинный строковый параметр'.Ранее было
APasteText: string
Но как видно «
widestring» тоже не слишком помог
Как исправить ошибку?
Заране спасибо за ответ.
P.S.
Вызов функции:
function FindAndPasteTextDoc(AFindText, APasteText: widestring;
AUnderLine, ABold, AItalic, ACountReplace: integer;
AColor: olevariant):boolean; far; external 'SPF';