Помощник
Здравствуйте, гость ( Вход | Регистрация )
|
|
1:02:2008, 13:50
|
|
Новенький ![]() Группа: Программист Сообщений: 4 Регистрация: 1:02:2008 Пользователь №: 15 131 Специализация: Delphi, MSSQL Репутация: 0
|
Здравствуйте!
Проблема вот какая - создаю TWordApplication, в фоне открываю файл (документ) и выдаю его на печать. Все работает. Но мне надо, чтобы при ошибках не выскакивали интерактивные окна Word (например: "Во время последнего открытия документа произошла серьезная ошибка - восстановить?", "Размеры раздела выходят за границы печати" и т.п.). Перепробовал кажется всё, начиная от DisplayAlerts... Вот кусок кода: Код Application1 := TWordApplication.Create(nil); with Application1 do begin try fn := aFileName; Visible := False; fn1 := False; fn2 := True; DisplayAlerts := wdAlertsNone; Documents.Open(fn, fn1, fn2, fn1, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam); // тут бывают ошибки на открытие fn := 1; Documents.Item(fn).Activate; PrintOut(fn1); // а тут ошибки печати Result := True; except on E: Exception do LogError('Error printing: ' + FormatDateTime(DateTimeString, Now) + ' ' + aFileName + ' - ' + E.Message); end; end; Так вот ворд упорно выводит свои диалоги... Delphi 5 и 7, Word 97-2000-XP - результат один Не посоветуете, как добиться ПОЛНОСТЬЮ фоновой работы? Спасибо! |
|
Сообщение
#1
|
|
![]() |
|
|
1:02:2008, 13:53
|
|
очень злой модератор ![]() ![]() ![]() ![]() ![]() Группа: Lotus team Сообщений: 2 666 Регистрация: 7:08:2006 Из: Украина, Киев Пользователь №: 5 807 Специализация: разработчик всякой хрени Репутация: 46
|
1. не юзайте компонентов, работайте как с оле-сервером
2. свойство зделайте word'y свойство Hidden = true |
|
Сообщение
#2
|
|
|
|
1:02:2008, 14:31
|
|
Новенький ![]() Группа: Программист Сообщений: 4 Регистрация: 1:02:2008 Пользователь №: 15 131 Специализация: Delphi, MSSQL Репутация: 0
|
1. не юзайте компонентов, работайте как с оле-сервером 2. свойство зделайте word'y свойство Hidden = true Не получается 1. Пробовал CreateOleObject('Word.Application') и CreateOleObject('Word.Basic') - тот-же результат. 2. Свойства Hidden нет у TWordApplication и не "поддерживается automation объектами" У Application есть свойство Visible, я его ставлю, Word не виден, но свои диалоги сует... Досадно... |
|
Сообщение
#3
|
|
|
|
1:02:2008, 21:30
|
|
очень злой модератор ![]() ![]() ![]() ![]() ![]() Группа: Lotus team Сообщений: 2 666 Регистрация: 7:08:2006 Из: Украина, Киев Пользователь №: 5 807 Специализация: разработчик всякой хрени Репутация: 46
|
Для: Jsn
да , перепутал Hiden c Visible... а разве делфийный обработчик Try Except не ловит ошибку? |
|
Сообщение
#4
|
|
|
|
4:02:2008, 07:10
|
|
Новенький ![]() Группа: Программист Сообщений: 4 Регистрация: 1:02:2008 Пользователь №: 15 131 Специализация: Delphi, MSSQL Репутация: 0
|
|
|
Сообщение
#5
|
|
|
|
14:02:2008, 11:05
|
|
Новенький ![]() Группа: Программист Сообщений: 33 Регистрация: 30:04:2004 Пользователь №: 470 Репутация: 0
|
К сожалению плохо помню, но от этих диалогов точно можно отказаться, только надо правильно заполнить параметры, передаваемые кажется при открытии документа, или при печати. В общем решение было, если найду - отпишу. Смотри справку во встроенном Basic-e, там все расписано
|
|
Сообщение
#6
|
|
|
|
14:02:2008, 13:48
|
|
Новенький ![]() Группа: Программист Сообщений: 4 Регистрация: 1:02:2008 Пользователь №: 15 131 Специализация: Delphi, MSSQL Репутация: 0
|
К сожалению плохо помню, но от этих диалогов точно можно отказаться, только надо правильно заполнить параметры, передаваемые кажется при открытии документа, или при печати. В общем решение было, если найду - отпишу. Смотри справку во встроенном Basic-e, там все расписано Измучал уже всю справку, например "DisabledItems" там нету... Появилась идея помучать реестр. Если что-то найдёте - отпишите, плз |
|
Сообщение
#7
|
|
![]() |
|
Текстовая версия | Сейчас: 17:05:2008 - 06:35 |