Ver Mensaje Individual
  #1  
Antiguo 06-12-2005
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Reputación: 21
AGAG4 Va por buen camino
Problemas al Imprimir en WinXP

Uso D6.

Tengo una aplicación para imprimir Facturas en una impresora matricial, tengo la siguiente función para mandar a imprimir en la impresora dependiendo del nombre de la misma:
Código Delphi [-]
function SpoolFile(const FileName, PrinterName: string): Integer;
var
  Buffer: record
    JobInfo: record // ADDJOB_INFO_1
       Path: PChar;
      JobID: DWORD;
    end;
    PathBuffer: array[0..255] of Char;
  end;
  SizeNeeded: DWORD;
  Handle: THandle;
  PrtName: string;
  ok: Boolean;
begin
  // Flush job to printer
  PrtName := PrinterName;
  if PrtName = '' then
    PrtName := Printer.Printers[Printer.PrinterIndex]; // Default printer name
  ok := False;
  if OpenPrinter(PChar(PrtName), Handle, nil) then
    if AddJob(Handle, 1, @Buffer, SizeOf(Buffer), SizeNeeded) then
      if CopyFile(PChar(FileName), Buffer.JobInfo.Path, True) then
        if ScheduleJob(Handle, Buffer.JobInfo.JobID) then
          ok := True;
  if not ok then
    Result := GetLastError
  else
    Result := 0;
end;

Tengo 6 PC's con Win98 que mandan a imprimir sin Problemas, pero al poner una PC's con WinXP se vinieron los problemas con esta función, el problema se presentan en las demás PC's que mandan a través de la RED la impresión, LOCALMENTE en WinXp no hay problema, es decir cuando la doy de alta la impresora en una PC's en RED WinXp le agrega el siguiente nombre FACTURAS en SERVIDOR con ese nombre mando como parámetro a la función y no manda nada, le mando también como \\Servidor\Facturas y tampoco, le mando como FACTURAS y menos, por lo que ando investigando como mandar a imprimir en WinXP a través de la red.

Agradezco cualquier sugerencia.
Responder Con Cita