Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сохранение данных из базы данных в 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]

???


Наверх

Титульная страница Поиск, карта сайта Написать письмо