Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Delphi + Word - проблема диалоговых окон
Форум программистов > Системное программирование > Delphi и Pascal > Delphi - СОМ
Jsn
Здравствуйте!
Проблема вот какая - создаю 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 - результат один

Не посоветуете, как добиться ПОЛНОСТЬЮ фоновой работы?
Спасибо!
Morpheus
1. не юзайте компонентов, работайте как с оле-сервером
2. свойство зделайте word'y свойство Hidden = true
Jsn
Цитата(Morpheus @ 1:02:2008, 16:53 ) *
1. не юзайте компонентов, работайте как с оле-сервером
2. свойство зделайте word'y свойство Hidden = true


Не получается sad.gif
1. Пробовал CreateOleObject('Word.Application') и CreateOleObject('Word.Basic') - тот-же результат.
2. Свойства Hidden нет у TWordApplication и не "поддерживается automation объектами"
У Application есть свойство Visible, я его ставлю, Word не виден, но свои диалоги сует...
Досадно...
Morpheus
Для: Jsn
да , перепутал Hiden c Visible...

а разве делфийный обработчик Try Except не ловит ошибку?
Jsn
Цитата(Morpheus @ 2:02:2008, 00:30 ) *
а разве делфийный обработчик Try Except не ловит ошибку?


Ловит, но потом sad.gif Сначала Word задает свои вопросы, а вот если там отказаться, то происходит ошибка, которую уже ловит Дельфи...
alexey
К сожалению плохо помню, но от этих диалогов точно можно отказаться, только надо правильно заполнить параметры, передаваемые кажется при открытии документа, или при печати. В общем решение было, если найду - отпишу. Смотри справку во встроенном Basic-e, там все расписано smile.gif
Jsn
Цитата(alexey @ 14:02:2008, 14:05 ) *
К сожалению плохо помню, но от этих диалогов точно можно отказаться, только надо правильно заполнить параметры, передаваемые кажется при открытии документа, или при печати. В общем решение было, если найду - отпишу. Смотри справку во встроенном Basic-e, там все расписано smile.gif


Измучал уже всю справку, например "DisabledItems" там нету... Появилась идея помучать реестр.
Если что-то найдёте - отпишите, плз smile.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Русская версия IP.Board © 2001-2008 IPS, Inc.