Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2009.10.04;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.006 c
2-1248940531
ford
2009-07-30 11:55
2009.10.04
Сохранить файл в ворде


2-1248445454
Zalm
2009-07-24 18:24
2009.10.04
Fatal error в Delphi 7


15-1249065216
tesseract
2009-07-31 22:33
2009.10.04
Захватившие власть коммуноцентристы опять ...


6-1207630477
_DATA_
2008-04-08 08:54
2009.10.04
Отправка данных через сокет в отдельном потоке


1-1218088634
ormada
2008-08-07 09:57
2009.10.04
xml rpc + wordpress





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский