Word Automation проблем
4 отговора
176 прегледа
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.
Ще бъда благодарен за всеки съвет или препоръка.
имам следния проблем:
парсвам около 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.
Ще бъда благодарен за всеки съвет или препоръка.
Re: Word Automation проблем
А затваряш ли ги документите след като ги парснеш?
Whenever you find yourslef on the side of the majority, it is time to reform.
~Mark Twain
Whenever you find yourslef on the side of the majority, it is time to reform.
~Mark Twain
Re: Word Automation проблем
то туй май е зора... ма си мислех че Disconnect метода затваря и документа
Re: Word Automation проблем
Ами пробвай с WordApplication.Documents.Open(), ама не съм се занимавал с това отдавна и не помня параметрите.
Успех и кажи кво е станало.
Whenever you find yourslef on the side of the majority, it is time to reform.
~Mark Twain
Успех и кажи кво е станало.
Whenever you find yourslef on the side of the majority, it is time to reform.
~Mark Twain
Re: Word Automation проблем
Disconnect само разкача твоя OLE клиент от OLE сървъра. Не ти затваря нищо ...
_ _ _
Time is like a drug. Too much of it kills you.
_ _ _
Time is like a drug. Too much of it kills you.