Я просто обновляю старый код, написанный на Delphi 6, до Delphi XE2. К сожалению, код ссылается на объект Word97 COM для создания некоторых документов .doc. В коде есть пункт прямого использования Word97.
Я должен сохранить документ, сгенерированный в том же формате Word, который используется старым Crystal Report и другим сторонним приложением, запрашивающим этот формат документа.
Итак, к вопросу. Поскольку я использую Word97 в предложении использования, компилятор жалуется на то, что типы фактических и формальных параметров var должны быть идентичны всякий раз, когда используется переменная EmptyParam. Это идет прямо из исходного файла Word97.pas. Это потому, что EmptyParam теперь объявлен как функция, а не как переменная.
как лучше всего с этим справиться? Должен ли я скопировать исходные файлы Delphi 6 (Word97.pas et al), скажем, в мой локальный каталог, напрямую добавить их в мой проект вместе с System.Variants.pas и изменить директиву компилятора моего приложения, включив в нее EMPTYPARAM_VAR? Я не пробовал этого, но надеюсь, что тогда будет объявлен EmptyParam как переменная. Или, возможно, есть более простое решение.
Спасибо
EDIT
Вот немного дополнительной информации, хотя я принял ответ, для дальнейшего использования. Вот пример кода (AddClaimsLetter - это COM-объект «Application» - то есть TWordApplication):
AddClaimsLetter.Documents.Open(Wordfile, EmptyParam, EmptyParam,
EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam,
EmptyParam, EmptyParam, EmptyParam, EmptyParam);
Ничего не меняя, аргументы EmptyParam здесь потерпели неудачу во время компиляции, заявив, что "E2033 Типы фактических и формальных параметров var должны быть идентичны".
Однако, поскольку я хотел сохранить Word97 (который находится в OCX / Server в папке установки Delphi 6 Ent.), Мне нужно было скопировать файлы .pas в мой локальный файл проекта и объявить переменную, которая использовалась вместо EmptyParam (потому что эти файлы тоже пытались скомпилировать и я получил ту же ошибку компилятора, что и выше).
Итак, все работает сейчас, но я мог бы обсудить с руководством обновление до более поздней версии Office для этого приложения!
Спасибо