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

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

Печать файлов через спулер


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]

Спасибо разобрался - принтер был не локальный


Наверх

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