Текущий архив: 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.47 MB
Время: 0.004 c