![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Работа с сервером Word - просмотр текста [D6]
PETR © (2007-03-27 15:19:00)Всем добрый день !
На сервере создан документ . Его необходимо посмотреть или вывести на печать .
// prosm
WordDocument1.PrintPreview;
WordApplication1.Visible := true;
//
WordApplication1.Visible := true;
Dial := wdDialogFilePrint;
WordApplication1.Dialogs.Item(Dial).Show(EmptyParam);
//
при выходе из программы дает ошибку -
Сервер RPC недоступен .
если не просматриваю или не печатаю то освобождаю память :
procedure TForm17.FormDestroy(Sender: TObject);
begin
WordApplication1.Free;
WordDocument1.Free;
WordFont1.Free;
WordParagraphFormat1.Free;
end;
Что надо сделать , чтобы не было сообщения .
Всем спасибо .
sia (2007-04-20 11:45:00) [1]извени, я ошибся.
везде вместо WordDocument1 надо WordApplication1.
sia (2007-04-20 11:43:00) [2]это происходит из-за того, что форма пытается закрыть уже закрытое приложение Word.
у тебя, наверное, WordDocument1.AutoQuit = true?
сделай его false, введи у формы флаг, показывающий, что Word был закрыт пользователем, а не формой. и на onclose формы делай WordDocument1.Quit при соответствующем значении этого флага. флаг поднимай при подключении к WordDocument1 и опускай в событии WordDocument1.OnQuit.
vl_chel (2007-03-30 16:53:00) [3]Вообщето word.application закрываеться командой Quit
из текста непонятно вы используете коппоненты под офис? зря они глючные лучше импортировать библиотеку типов ворда и ни каких проблем
и совет никогда не вызывайте метод free для компонентов на форме - вы ей морочите голову (компоненты не используют технологию подсчета ссылок) поэтому если вы его уничтожите, форма об этом не узнает и AV как следствие
PETR (2007-03-29 17:37:00) [4]Господа , может быть кто-то все же работал с Word , не могу понять почему после предварительного просмотра или вывода на печать :
// prosm
WordDocument1.PrintPreview;
WordApplication1.Visible := true;
//
WordApplication1.Visible := true;
Dial := wdDialogFilePrint;
WordApplication1.Dialogs.Item(Dial).Show(EmptyParam);
//Word
вызывается Word c открытым документом , Word закрываю как обычно и нажимаю на кнопку < Закрыть форму > ,
при закрытии формы на операторе < Form.Close; > выходит сообщение :
Сервер RPC недоступен
Что надо сделать , чтобы сервер был доступен и форма закрылась без сообщений ? Негде прочитать об этом . Все статьи на этом сайте прочитал , там даются только такие рекомендации :
procedure TForm17.FormDestroy(Sender: TObject);
begin
WordApplication1.Free;
WordDocument1.Free;
WordFont1.Free;
WordParagraphFormat1.Free;
end;
Всем спасибо .
PETR (2007-03-27 17:26:00) [5]procedure TForm17.FormDestroy(Sender: TObject);
begin
WordApplication1.Free;
WordDocument1.Free;
WordFont1.Free;
WordParagraphFormat1.Free;
end;
- написано в статье , что выходе из формы надо освобождать память ,
даже если убираю операторы , то после просмотра или печати при закрытии формы выходит сообщение :
Сервер RPC недоступен
umbra (2007-03-27 17:01:00) [6]
> begin
> WordApplication1.Free;
> WordDocument1.Free;
> WordFont1.Free;
> WordParagraphFormat1.Free;
> end;
зачем вообще делать Free, если компоненты у Вас на форме лежат? Они уничтожатся автоматически.
clickmaker (2007-03-27 16:20:00) [7]
> [3] PETR (27.03.07 16:18)
Remote Procedure Call
PETR (2007-03-27 16:18:00) [8]Может быть кто-то знает , что такое Сервер RPC .
PETR (2007-03-27 15:30:00) [9]->clickmaker © (27.03.07 15:25) [1]
достаточно
WordApplication1.Free;
Дает сообщение - Сервер RPC недоступен
clickmaker (2007-03-27 15:25:00) [10]достаточно
WordApplication1.Free;