![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как определелить конец распечатки информации? [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]отслеживать состояние принтера, что тут еще можно сделать?