Ver Mensaje Individual
  #2  
Antiguo 15-05-2008
afxe afxe is offline
Miembro
 
Registrado: jul 2004
Ubicación: Malaga-España
Posts: 273
Reputación: 20
afxe Va por buen camino
Más vale tarde!!!

Bueno, acabo de ver este post y al no tener respuesta me he dicho... más vale tarde que nunca, por si alguien está buscando algo sobre esto, por lo menos que encuentre una solución.

En el quickreport, en printersettings tienes la propiedad outputbin, para indicar la bandeja de salida. Sin embargo, algunas veces no he conseguido que la impresora responda a estos cambios en el quickreport. Acabo de realizar una función para cambiar la bandeja de una impresora pasada por parametro. Aún no lo he probado, pues estoy chapuceando en casa y no tengo una impresora multibandeja a mano, así que no os puedo asegurar que funcione:

Código:
 
Procedure ActivaBandeja(FPrinter: TPrinter; NumBandeja: SmallInt);
var
  FDevice: PChar;
  FDriver: PChar;
  FPort: PChar;
  DeviceMode: THandle;
  DevMode: PDeviceMode;
begin
  FPrinter.GetPrinter(FDevice, FDriver, FPort, DeviceMode);
  DevMode := GlobalLock(DeviceMode);
  if  ((DevMode^.dmFields and DM_DEFAULTSOURCE) = DM_DEFAULTSOURCE) then begin
    DevMode^.dmFields := DevMode^.dmFields or DM_DEFAULTSOURCE;
    DevMode^.dmDefaultSource := NumBandeja;
  end;
  FPrinter.SetPrinter(FDevice, FDriver, FPort, DeviceMode);
  GlobalUnlock(DeviceMode);
end;
Si alguien lo mejora que lo postee... Saludos.
Responder Con Cita