![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вопрос по WordApplication
Чипырик © (2009-05-17 12:23:00)Доброго времени суток.
У меня такая проблемма
Из своего приложения я создаю 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 14:49:00) [1]все нашел косяк...
все происходило из-за того, что я не отконнективался от ворда...
добавил в конце строчку
WordApplication1.Disconnect;
и ошибка устранилась
Чипырик (2009-05-17 14:48:00) [2]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:41:00) [3]
> AutoConnect - автосоединение
Тогда при AutoConnect = True зачем ты вызываешь метод Connect ?
> ConnectKind:= ckRunningOrNew
Вот сначала должен коннект произойти (авто или "вручную" - неважно, к существующему или новому экземпляру - тоже не столь важно), и только потом следует манипулировать прочими мктодами и свойствами экземпляра, к к оторому ты подключился
Чипырик (2009-05-17 14:34:00) [4]2 Сергей М.
Вобщем-то я так полагаю.
AutoConnect - автосоединение
ConnectKind:= ckRunningOrNew - тип соединения (Запустить ворд или создать в ворде новый документ)
А в справке что-то не нашел
Сергей М. (2009-05-17 14:27:00) [5]
> AutoConnect:=True(пробовал и False)
> ConnectKind:= ckRunningOrNew
А справку читать не пробовал, что означает каждое значение каждого из этих свойств ?
Чипырик (2009-05-17 14:13:00) [6]2 Сергей М.
AutoConnect:=True(пробовал и False)
ConnectKind:= ckRunningOrNew
2 Palladin
а как?
Просто я использовал пример при написании этого кода.
Сергей М. (2009-05-17 14:07:00) [7]
> Чипырик © (17.05.09 13:59) [4]
Чему равны AutoConnect и ConnectKind ?
Palladin (2009-05-17 14:04:00) [8]на кой тебе Connect? почему бы не создать свой экземпляр?
Чипырик (2009-05-17 13:59:00) [9]Поменял...
Та же ошибка
Сергей М. (2009-05-17 13:56:00) [10]
> WordApplication1.Documents.Add(EmptyParam, EmptyParam, EmptyParam,
> EmptyParam);
> WordApplication1.Connect;
Меняй местами
Чипырик (2009-05-17 13:47:00) [11]2 Сергей М.
Точно. Убрал. Но проблема не решилась
Сергей М. (2009-05-17 13:40:00) [12]
> WinExec('Word.exe', SW_RESTORE);
Это совершенно ни к чему.