![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Печать файлов через спулер
man Yurik © (2006-09-14 20:44:00)Добрый вечер/день.
Пытаюсь сделать печать на матричный принтер через спулер не выходит (Delphi2005+Win2003).
Не работает следующий код :
type
ADDJOBINFO1 = record
Path : PChar;
JobID : DWORD;
end;
PADDJOBINFO1=^ADDJOBINFO1;
var
FPrinterHandle : THandle;
FJob : PADDJOBINFO1;
pcbNeeded : DWORD;
NoFindPrinter : boolean;
procedure TfmDisplayFile.FormCreate(Sender: TObject);
var
i: integer;
begin
NoFindPrinter:=True;
GetMem(FJob,SizeOf(FJob));
for i:=1 to Printer.Printers.Count do
if gvPrinter=Printer.Printers[i-1] then
begin
NoFindPrinter:=False; //устанавливаем,что принтер найден
if OpenPrinter(PChar(gvPrinter),FPrinterHandle,nil) then break
else NoFindPrinter:=True;
end;
end;
procedure TfmDisplayFile.Click(Sender: TObject);
//Добавляем задание печати, получаем имя файла в директории windows\spoool\
if not AddJob(FPrinterHandle,1,FJob,4096,pcbNeeded) then
showmessage(inttostr(GetLasterror));
mDisplayMessage.Lines.SaveToFile(FJob.Path);
ScheduleJob(FPrinterHandle,FJob.JobID);
//if GetLastError<>0 then;
end;
end;
Вроде сделано по "теории" но после вызова AddJob GetLastError=87
Заранее благодарен
Юра
man Yurik (2006-09-14 20:48:00) [1]Спасибо разобрался - принтер был не локальный