FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Seleccionar Bandeja no funciona
Posts: 731
Joined: Fri Oct 07, 2005 07:42 AM
Seleccionar Bandeja no funciona
Posted: Wed Dec 16, 2009 04:20 PM
Antonio, estoy intentando ver porque la funcion PrnBinSource() no funciona correctamente;

Code (fw): Select all Collapse
#include "fivewin.ch"
Function Main
   PRINTERSETUP()
  ? "bin code", PrnBinSource()
return nil


Si en las propiedades de la impresora cambiamos la bandeja DEBERÍA la llamada a PrnBinSource() indicar correctamente su número,
tal y como hace esta funcion en delphi.

En fivewin SIEMPRE devuelve el mismo número , y es imposible saber que numero le corresponde para usar la bandeja 2.
Los #DEFINES no sirven para nada, pues la bandeja2 para una impresora es 260, alucina, y yo probando del 1 al 14, pues mal vamos.

La función PRINTERSETUP() no guarda o mantiene la esctructura LPDEVMODE , por lo tanto, es imposible saber el codigo BIN que le corresponde
a las diferentes bandejas de la impresora.


function GetBinSelection: integer;
var
hDevMode: THandle;
Device,Driver,Port: array [0..1024] of Char;
bin: integer;
DevMode : PDevMode;
begin
Printer.GetPrinter (Device,Driver,Port,hDevMode);
bin := -1;
if hDevMode <> 0 then
begin
DevMode := GlobalLock (hDevMode);

bin := DevMode^.DMDEFAULTSOURCE;
UserCollateCode := DevMode^.dmCollate;
GlobalUnlock (hDevMode);
end;
result := bin;
end;


Aqui esta el código completo en delphi para que puedas observar que funciona perfectamente
http://www.clubdelphi.com/foros/showthread.php?t=35149

Si el código bin que me devuelve Delphi, se lo coloco a prnBinSource() funciona perfectamente.
Saludos

Rafa Carmona ( rafa.thefullARROBAgmail.com___quitalineas__)
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Seleccionar Bandeja no funciona
Posted: Wed Dec 16, 2009 10:33 PM

Rafa,

Vamos a revisarlo, gracias :-)

regards, saludos

Antonio Linares
www.fivetechsoft.com

Continue the discussion