Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.10.04;
Скачать: CL | DM;

Вниз

TWordApplication выдает ошибку - "вызов был отклонен"   Найти похожие ветки 

 
ford ©   (2009-07-27 11:46) [0]

Здравствуйте уважаемые!
Использую ворд для проверки орфографии, для этого на форме разместил два компонента TWordApplication и TWordDocument

WordApplication.ConnectKind:=ckNewInstance;

вот сама процедура
...
WordApp.Connect;
WordDoc.ConnectTo(WordApp.Documents.Add(EmptyParam, EmptyParam,EmptyParam,EmptyParam));

i:=0;
repeat
      WordDoc.Range.Delete(EmptyParam,EmptyParam);
      WordDoc.Range.Set_Text(lst[i]);
      colSpellErrors := WordDoc.SpellingErrors;
      if colSpellErrors.Count <> 0 then
       Begin
        Inc(i);
       end
      Else
        Lst.Delete(i);
until i>=Lst.Count;
WordDoc.Disconnect;


где lst:TStringList; и содержит список слов на проверку

ошибка вылетает если во время цикла проверки был запущен word набран любой текст и закрыт ворд. Или перед запуском программы также открыть ворд, а во время выполнения цикла его закрыть.

Подскажите, как сделать чтобы моя программа не зависела, в данном случае, от действий пользователя с Word?


 
Anatoly Podgoretsky ©   (2009-07-27 12:14) [1]

> ford  (27.07.2009 11:46:00)  [0]

Не подключайся к текущему экземпляру Ворд, имей свой экземпляр только для себя.
Подробности в справке.


 
ford ©   (2009-07-27 12:18) [2]

Сдела по другому :)
нашел в интернете пример на VBasic
переделал джуть-джуть и работает :)

Var WordApp:Variant;
...
WordApp:=CreateOleObject("word.Application");
i:=0;
repeat
     if not WordApp.CheckSpelling(Lst[i]) then
      Begin
       Inc(i);
      end
     Else
       Lst.Delete(i);
until i>=Lst.Count;
WordApp.Quit(False);


 
ford ©   (2009-07-27 12:20) [3]


> Anatoly Podgoretsky ©   (27.07.09 12:14) [1]

яж вроде и использовал новый экземпляр
когда поставил
WordApplication.ConnectKind:=ckNewInstance;
во всяком случае я так понял прочитав в хелпе...


 
Anatoly Podgoretsky ©   (2009-07-27 13:09) [4]

> ford  (27.07.2009 12:20:03)  [3]

Правильно, именно это свойство, но видимо надо еще и WordApp.Connect не использовать. Я работаю с Экселем, без аналогичной строчки получается полная изоляция ExcelAllpication - не страшны никакие ошибки, они просто не влияют на другие приложения.



Страницы: 1 вся ветка

Текущий архив: 2009.10.04;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.017 c
15-1248942849
Miob
2009-07-30 12:34
2009.10.04
Отключить обновление экрана монитора


2-1249040793
Zheksonz
2009-07-31 15:46
2009.10.04
Выгружаю процесс, аиконкапроболжает висеть на TaskBar


1-1218291861
lordalex
2008-08-09 18:24
2009.10.04
Не отображает иврит


15-1249126212
Kerk
2009-08-01 15:30
2009.10.04
Как пережить финансовый кризис?


2-1249236020
kapas
2009-08-02 22:00
2009.10.04
Delphi 2009 for Win32. class operators