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

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

Как определелить конец распечатки информации? [D6, WinXP]


SkySpeed ©   (2006-11-18 01:47:00) 

Как определить конец распечатки информации или же помещение файла в буфер обмена для последующей печати?

При выполнении следующих строк, после ShellExecute сразу же вызывается DeleteFile, а этого не нужно, так как необходимо дождаться конца печати...
  ShellExecute(handle,
               'print',
                PChar('C:\test.txt'),
                nil,
                nil,
                SW_SHOWNORMAL);
  SysUtils.DeleteFile('C:\test.txt');


Кто что посоветует сделать в данном случае?


RASkov   (2006-11-18 22:20:00) [1]

Т.е. здесь я хотел предложить функцию ExecuteAndWait из
http://www.delphimaster.ru/cgi-bin/forum.pl?n=0&id=1162597852
которую я там предложил в [5] моем посте.
ЗЫ Я ее не проверял.


RASkov   (2006-11-18 22:00:00) [2]

А CreateProcess можно в данном случае использовать? Ну в место ShellExecute из [0]. Но думаю, что параметр - 'print' для ShellExecute....


Джо   (2006-11-18 17:27:00) [3]

> [4] Anatoly Podgoretsky ©   (18.11.06 12:52)
> ShellExecuteEx

Не подойдет, я уже пробовал. Он, хотя и возвращает дескриптор процесса в соответствующем поле структуры, однако с очень большими оговорками (иногда  и не возвращает), поэтому WaitForSingleObject тут не применишь. В общем случае так не решишь.


Anatoly Podgoretsky   (2006-11-18 12:52:00) [4]

> SkySpeed  (18.11.2006 1:47:00)  [0]

ShellExecuteEx


KilkennyCat   (2006-11-18 12:07:00) [5]

cпулер не гарантирует распечатку или файл громадный (может, поэтому TPrinter не используется)


DrPass   (2006-11-18 11:19:00) [6]


> а этого не нужно, так как необходимо дождаться конца печати.
> ..

Интересно, а он что, позволяет удалить файл до того, как он будет целиком загружен в спулер принтера?


KilkennyCat   (2006-11-18 07:35:00) [7]

отслеживать состояние принтера, что тут еще можно сделать?


Наверх

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