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

Вниз

Вопрос по WordApplication   Найти похожие ветки 

 
Чипырик ©   (2009-05-17 12:23) [0]

Доброго времени суток.
У меня такая проблемма
Из своего приложения я создаю Word документ и вношу в него данные.
На этом этапе все работает отлично.
Но если пользователь закрывает Word, а потом повторно вызывает функцию создания Wоrd документа, то выскакивает сообщение об ошибке: "Сервер RPC недоступен".
И создание документа возможно только после перезапуска программы.
Как это исправить?

Создаю документ следующим кодом:
WinExec("Word.exe", SW_RESTORE);
WordApplication1.Documents.Add(EmptyParam, EmptyParam, EmptyParam, EmptyParam);
WordApplication1.Connect;
WordApplication1.Visible:=True;


 
Сергей М. ©   (2009-05-17 13:40) [1]


> WinExec("Word.exe", SW_RESTORE);


Это совершенно ни к чему.


 
Чипырик ©   (2009-05-17 13:47) [2]

2 Сергей М.
Точно. Убрал. Но проблема не решилась


 
Сергей М. ©   (2009-05-17 13:56) [3]


> WordApplication1.Documents.Add(EmptyParam, EmptyParam, EmptyParam,
>  EmptyParam);
> WordApplication1.Connect;


Меняй местами


 
Чипырик ©   (2009-05-17 13:59) [4]

Поменял...
Та же ошибка


 
Palladin ©   (2009-05-17 14:04) [5]

на кой тебе Connect? почему бы не создать свой экземпляр?


 
Сергей М. ©   (2009-05-17 14:07) [6]


> Чипырик ©   (17.05.09 13:59) [4]


Чему равны AutoConnect и ConnectKind ?


 
Чипырик ©   (2009-05-17 14:13) [7]

2 Сергей М.
AutoConnect:=True(пробовал и False)
ConnectKind:= ckRunningOrNew

2 Palladin
а как?
Просто я использовал пример при написании этого кода.


 
Сергей М. ©   (2009-05-17 14:27) [8]


> AutoConnect:=True(пробовал и False)
> ConnectKind:= ckRunningOrNew


А справку читать не пробовал, что означает каждое значение каждого из этих свойств ?


 
Чипырик ©   (2009-05-17 14:34) [9]

2 Сергей М.
Вобщем-то я так полагаю.
AutoConnect - автосоединение
ConnectKind:= ckRunningOrNew - тип соединения (Запустить ворд или создать в ворде новый документ)
А в справке что-то не нашел


 
Сергей М. ©   (2009-05-17 14:41) [10]


> AutoConnect - автосоединение


Тогда при AutoConnect = True зачем ты вызываешь метод Connect ?

> ConnectKind:= ckRunningOrNew


Вот сначала должен коннект произойти (авто или "вручную" - неважно, к существующему или новому экземпляру - тоже не столь важно), и только потом следует манипулировать прочими мктодами и свойствами экземпляра, к к оторому ты подключился


 
Чипырик ©   (2009-05-17 14:48) [11]

2 Сергей М.
Если честно, мне кажется, что ошибка возникает вовсе не из-за этого.
сейчас у меня
AutoConnect:=True
ConnectKind:= ckRunningOrNew

и код
WordApplication1.Documents.Add(EmptyParam, EmptyParam, EmptyParam, EmptyParam);
WordApplication1.Visible:=True;

// занесение информации в документ
Selection.InsertAfter("бла-бла-бла");
WordFont1.ConnectTo(Selection.Font);
WordFont1.Bold:=0; WordFont1.Size:=12; WordFont1.Name:="Courier New";
Selection.Collapse(Direction);


 
Чипырик ©   (2009-05-17 14:49) [12]

все нашел косяк...
все происходило из-за того, что я не отконнективался от ворда...
добавил в конце строчку
WordApplication1.Disconnect;
и ошибка устранилась



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

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

Наверх




Память: 0.49 MB
Время: 0.013 c
15-1241200280
AlexDan
2009-05-01 21:51
2009.07.05
Движок для сайта..


11-1203580173
Tolyan
2008-02-21 10:49
2009.07.05
Создание формы визуально в KOL


15-1241037795
Германн
2009-04-30 00:43
2009.07.05
Очередной "дурацкий вопрос"


15-1241336676
Deled
2009-05-03 11:44
2009.07.05
помогите с литературой....


2-1242476766
partizan
2009-05-16 16:26
2009.07.05
Warning: FOR-Loop variable "i" may be undefined after loop