Форум: "Основная";
Текущий архив: 2005.02.13;
Скачать: [xml.tar.bz2];
ВнизКак узнать момент, когда Explorer закончит печать? Найти похожие ветки
← →
Darrin © (2005-01-31 12:01) [0]Доброго времени суток, Мастера.
Подскажите решение следующей проблемы:
Мне необходимо узнать момент, когда 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 12:36) [1]Ничего стращного, после того как выполнится метод печати Эксполрера, все задачи по печати берет на себя система. Можешь смело закрывать.
← →
Darrin © (2005-01-31 13:53) [2]>> pasha_golub © Как бы ни так...
После выполненияIWb.ExecWB(OLECMDID_PRINT,OLECMDEXECOPT_PROMPTUSER , vaIn, vaOut);
Должен открыться диалог печати, и он появляется, но как только делаетсяIE := null
Экплорер закрывается, и диалог печати исчезает.
← →
pasha_golub © (2005-01-31 14:19) [3]Darrin © (31.01.05 13:53) [2]
А-а-а, понял...
← →
pasha_golub © (2005-01-31 14:19) [4]Darrin © (31.01.05 13:53) [2]
А-а-а, понял...
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.02.13;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.039 c