Word Automation проблем

4 отговора 176 прегледа
#1

Word Automation проблем

Здравейте,
имам следния проблем:
парсвам около 2-3 хиляди DOC файла с програма на Delphi, като ползвам следния код за парсването:

WordApplication.Documents.Open(f,EmptyParam,EmptyParam,EmptyParam, PasswordDocument,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam); // f=името на DOC файла
WordDocument.ConnectTo(WordApplication.ActiveDocument);
s:=WordDocument.Range.Get_Text;
// парсване на текста в s...
WordDocument.Disconnect;

проблема се появява след парсването на няколкостотин файла, като получавам съобщение за грешка от вида "Not enough memory or disk space to complete operation". Съответно COM-а на Word-а е набъбнал до 120МВ.
Предполагам че проблема е в незачистването на паметта в обекта WordApplication. Опитах се да извиквам метод Quit, но получавам странни грешки.
Версията на компонента е за Office 97, а имам инсталиран Office 2000.
Ще бъда благодарен за всеки съвет или препоръка.

Отговор
в отговор на kk #2

Re: Word Automation проблем

А затваряш ли ги документите след като ги парснеш?

Whenever you find yourslef on the side of the majority, it is time to reform.
~Mark Twain
Отговор
в отговор на S©S #3

Re: Word Automation проблем

то туй май е зора... ма си мислех че Disconnect метода затваря и документа

Отговор
в отговор на kk #4

Re: Word Automation проблем

Ами пробвай с WordApplication.Documents.Open(), ама не съм се занимавал с това отдавна и не помня параметрите.

Успех и кажи кво е станало.

Whenever you find yourslef on the side of the majority, it is time to reform.
~Mark Twain
Отговор
в отговор на kk #5

Re: Word Automation проблем

Disconnect само разкача твоя OLE клиент от OLE сървъра. Не ти затваря нищо ...


_ _ _

Time is like a drug. Too much of it kills you.
Отговор