Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Buffer - Impresión directa (https://www.clubdelphi.com/foros/showthread.php?t=54628)

MAXIUM 25-03-2008 21:48:53

Buffer - Impresión directa
 
Tengo la duda si al imprimir en forma directa se crea un buffer (cola, etc.) de impresión o va imprimiendo y "esperando" linea a liena. Lo digo por que la aplicación se bloquea hasta que termina de imprimir.


Código Delphi [-]
Var
    ADevice, ADriver, APort : array [0..255] of Char;
    ADeviceMode: THandle;
    DevMode: PDevMode;
Begin
// Seleciona una medida metrica.
   SetMapMode(Printer.Handle,MM_LoMetric);

// Aqui se define el tamaño del papel.
   with Printer do
      begin
         GetPrinter (ADevice, ADriver, APort, ADeviceMode);
         SetPrinter (ADevice, ADriver, APort, 0);
         ADevice:= 'Adobe PDF';
//         GetPrinter (ADevice, ADriver, APort, ADeviceMode);
         DevMode := GlobalLock(ADeviceMode);
         if not Assigned(DevMode) then
            ShowMessage('Ha entrado en -> if not Assigned(DevMode) ...')
         else
            begin
               with DevMode^ do
                  begin
                     dmPaperSize  := DMPAPER_User;
                     dmPaperLength:= 1500;    //1500;
                     dmPaperWidth := 2000;    //1150;
                     dmFields := dmFields or DM_PAPERSIZE or DM_PAPERLength or DM_PAPERWidth;
                  end;
               GlobalUnLock(ADeviceMode);
               SetPrinter(ADevice, ADriver, APort, ADeviceMode);
           end;
      end;

//    Inicio de la Impresión.
      Printer.BeginDoc;
      With Printer.Canvas do
      Begin
           Font.Name  := 'DOSASCII';
           Font.Size   := 12;
           Font.Pitch  := fpFixed;
           TextOut(   0,   0, 'HOLA');
           ...
           ...
           ...
      End;
     Printer.EndDoc;
End;


La franja horaria es GMT +2. Ahora son las 05:03:32.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi