printing multiple copies w TDevMode

Hello-

Anyone game on printing multiple copies of a job?  I've mustered the
code below into almost working, but it's printing multiple copies of
each page (p1, p1, p2, p2, p3, p3).  Any thoughts on getting p1, p2, p3,
p1, p2, p3?

Thanks in advance for any help.

Mike

var DevMode : PDevMode;
    DeviceHandle : THandle;
    ADevice, ADriver, APort : array [0..255] of Char;
begin
   Printer.GetPrinter(ADevice, ADriver, APort, DeviceHandle);
   if (DeviceHandle = 0) then
      begin
      Printer.PrinterIndex := Printer.PrinterIndex;
      Printer.GetPrinter(ADevice, ADriver, APort, DeviceHandle);
      end;
   if (DeviceHandle <> 0) then
      begin
      DevMode := GlobalLock(DeviceHandle);
      with DevMode^ do begin
         dmFields := dmFields or DM_COPIES;
         dmCopies := 2;
         end;
      GlobalUnlock(Devicehandle);
      Printer.BeginDoc;
      for i := 0 to BunchaPages do
        {print statements comprising 1 page, then Printer.NewPage }
      Printer.EndDoc;
      end;