![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сохранение данных из базы данных в MS Word [D7]
Nikolai_S © (2003-08-22 16:00:00)
Был в программе на Delphi 6 исходник, который сохранял данные из БД в MS Word, используя компоненты COM.
Когда я открыл этот исходник в Delphi 7, то он перестал корректно работать. Перестала работать функция:
uses Word97;
...
var
FindeText, ReplaceText, MatchWholeWord, Replace: OleVariant;
...
FindeText := "ля-ля-ля";
ReplaceText := "тра-ля-ля";
Replace := wdReplaceAll;
MatchWholeWord := True;
WordDocument.Range.Find.Execute(oldP, EmptyParam, MatchWholeWord,
EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam,
EmptyParam, newP, Replace);
То есть перестала работать замена текста :-(
Как с эти бороться?
Тих (2003-08-22 20:30:00) [1]
в свое время умучившись с ранним связыванием при работе с офисом от несовместимости версий, взял для себя за правило
во-первых, работать только через IDispatch и ОleVariant`ы,
во-вторых, по возможности сбрасывать отчеты и пр. во временные файлы (HTML) и затем подгружать оные в ворд/excel
в-третьих, по возможности выносить код во внешние файлы .vbs или вообще в поля text/ntext базы, а для интерпретации использовать MS Script Control
Nikolai_S (2003-08-22 19:01:00) [2]
Я установил и D6, и D7.
Что удивительно - дело не в Дельфи. Мне установили из интернета самые последние обновления Win XP, Office XP, MDAC и т.д.
Тот же самый исходник даже в D6 работает некорректно. Хотя до этого до переустановки ОС все работало исправно.
Nikolai_S (2003-08-22 18:19:00) [3]
А он будет корректно работать по D7?
sniknik (2003-08-22 17:46:00) [4]
можно. у меня стоят.
могу просто word97.pas от 6-х выслать.
Nikolai_S (2003-08-22 17:31:00) [5]
у меня в 7-х размер 1.31, но не утановлен сейчас Delphi6 и не могу сравнить эти файлы. :-(
А можно одновременно установить D6 и D7?
sniknik (2003-08-22 17:22:00) [6]
> word97.pas
но какаято разница в них есть в 6-х размер 1,33мб в 7-х 1,31мб. у тебя не так?
(ктото слишком усердно GhostMethod-ы покромсал :о)))
Nikolai_S (2003-08-22 17:11:00) [7]
> sniknik
Естественно откомпилил.
Такие методы нашлись в некоторых файлах, но в файле word97.pas его нету. Так что наверное не в этом дело...
Самое интересное, что другие команды с Word"ом работают, а вот замена перестала работать :-( ...
Хоть обратно в Delphi 6 переходи...
Nikolai_S (2003-08-22 17:07:00) [8]
Word 97
sniknik (2003-08-22 16:56:00) [9]
ну прям чудеса. ;о))
только открыл или всетаки пытался скомпилить в нем?
пошарь по своим модулям (касается экспортированных из COM обьектов)
на предмет вот таких вот методов
procedure GhostMethod__Connection_0_1; safecall;
procedure GhostMethod__Connection_4_2; safecall;
procedure GhostMethod__Connection_8_3; safecall;
procedure GhostMethod__Connection_12_4; safecall;
просто поиск в *.pas файлах сделай какие включают текст GhostMethod, если найдеш то поудаляй их нафиг. (не модули, методы ;о)))
(отталкиваясь от "используя компоненты COM")
Leran2003 (2003-08-22 16:51:00) [10]
А какая версия Word"а???
Nikolai_S (2003-08-22 16:49:00) [11]
???