Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как узнать момент, когда Explorer закончит печать? [D7, Win2k, WinXP]


Darrin ©   (2005-01-31 12:01:00) 

Доброго времени суток, Мастера.
Подскажите решение следующей проблемы:
Мне необходимо узнать момент, когда Internet Explorer, с которым я общаюсь через OLE, закончил печать. Это необходимо, что бы закрыть экземпляр Эксплорера, после окончания печати.

procedure TbtkHTMLReport.PrintReport;
var
 IE: Variant;
 vaIn, vaOut: OleVariant;
 IWb: IWebBrowser2;
begin
 try
   IE := CreateOleObject('InternetExplorer.Application');
 except
   raise Exception.Create('Ошибка печати.' + #10#13 + 'В системе отсутствует Internet Explorer.');
 end;
 try
   IE.Navigate(TemplateFileName);
   if supports(IE, IWebBrowser2, IWb) then
     IWb.ExecWB(OLECMDID_PRINT,
       OLECMDEXECOPT_PROMPTUSER {- Показывать диалог выбора принтера}
       {OLECMDEXECOPT_DONTPROMPTUSER {- Не показывать диалог выбора принтера}, vaIn, vaOut);
 finally
   IE := null;
 end;

end;


Вся проблема в том, что в блок finally я попадаю сразу, после вызова IWb.ExecWB, не дожидаясь момента, когда IE завершит печать.
Зарание спасибо.


pasha_golub   (2005-01-31 14:19:00) [1]

Darrin ©   (31.01.05 13:53) [2]
А-а-а, понял...


pasha_golub   (2005-01-31 14:19:00) [2]

Darrin ©   (31.01.05 13:53) [2]
А-а-а, понял...


Darrin   (2005-01-31 13:53:00) [3]

>> pasha_golub ©  Как бы ни так...
После выполнения
IWb.ExecWB(OLECMDID_PRINT,OLECMDEXECOPT_PROMPTUSER , vaIn, vaOut);
Должен открыться диалог печати, и он появляется, но как только делается
IE := null
Экплорер закрывается, и диалог печати исчезает.


pasha_golub   (2005-01-31 12:36:00) [4]

Ничего стращного, после того как выполнится метод печати Эксполрера, все задачи по печати берет на себя система. Можешь смело закрывать.


Наверх

Титульная страница Поиск, карта сайта Написать письмо