Ir para conteúdo
  • Cadastre-se

dev botao

Impressora Zebra Gc420T, Não Consigo Conectar Na Usb


Ver Solução Respondido por ANT.CARLOS.SP,
  • Este tópico foi criado há 4258 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Olá boa noite!

Estou tentanso conectar a impressora na USB mas não funciona de jeito nenhum.
Na LPT1, 2,3 ok, funciona.

Nota: Antes q alguém diga para mim pesquisar, já fiz isto e já estou a uma semana fazendo isto.
      já lee todos os tópicos sobre a zebra e Argox.


     Impressora Zebra GC420t, Padrao e compartilhada como: ZDesigner1.
     



      Printer.GetPrinter(aDevice, aDriver, aPort, ahDMode);  //...Pega a Impressora padrao

      NomComp := Nome_do_Computador;


      //
      //...Aqui com a impressora ARGOX funciona veja
      //
      If DMCONFIG.Sql_PesqConfigsisMODIMPZEBRA.AsString = 'ARGOX' Then
         ACBrETQ.Porta := '\\'+NomComp+'\'+aDevice;

        
      //
      //...Com este comando não funciona na impressora Zebra GC420t erro I/O 53  
      //
      If DMCONFIG.Sql_PesqConfigsisMODIMPZEBRA.AsString = 'ZEBRA' Then
         ACBrETQ.Porta := '\\quadcore\ZDesigner1';


      //
      //...Com este comando não funciona na impressora Zebra GC420t erro I/O 53  
      //
      If DMCONFIG.Sql_PesqConfigsisMODIMPZEBRA.AsString = 'ZEBRA' Then
         ACBrETQ.Porta := '\\localhost\ZDesigner1';


      //
      //...Com este comando não funciona na impressora Zebra GC420t erro I/O 53  
      //
      If DMCONFIG.Sql_PesqConfigsisMODIMPZEBRA.AsString = 'ZEBRA' Then
         ACBrETQ.Porta := '\\192.168.0.1\ZDesigner1'; //...IP da minha maquina

      //
      //...Com este comando não funciona na impressora Zebra GC420t erro I/O 53  
      //
      If DMCONFIG.Sql_PesqConfigsisMODIMPZEBRA.AsString = 'ZEBRA' Then
         ACBrETQ.Porta := '\\'+NomComp+'\'+aDevice;


A quem puder ajudar desde já meus agradecimentos.









 

post-610-0-49876100-1363989926_thumb.jpg

post-610-0-51073000-1363989936_thumb.jpg

  • Solution
Postado

Olá boa tarde!

Depois de muito pesquisar e quebrar a cabeça descobri que a Impressora ZEBRA não imrime pelo

nome da impressora e sim somente pelo nome do compartilhamento.

Fiz vários teste de descobri como pegar o nome do compartilhamento.

Na Argox imprime tanto pelo nome da impressora com pelo nome do compartilhamento.

Nota: Para instalar a impressora ZEBRA deixe-a desligada e se preciso for desinstale

todos os drivers q usa USB, pois, depois de tanto instalar e desinstalar descobri

alguns segredos.

Abaixo esta como pegar o nome do compartilhamento.

Obrigado a todo e muito obrigado!

100+

ANT.CARLOS/SP

Nome da Impressora: ZDesigner GC420T (EPL) (1)

Nome do Compartilhamento: ZDesigner

Uses winspool, Printers;

----------------------------------

procedure TFPrincipal.AtivarACBrETQ ;

var aDevice : array[0..255] of char;

    aDriver : array[0..255] of char;

    aPort : array[0..255] of char;

    ahDMode : THandle;

    fone, NomComp : String;

    posi : Integer;

var PrinterInfo: PPrinterInfo2;

    PrnHandle :THandle;

    PrnInfo2 :PPRINTERINFO2;

    PrnInfoSize :DWord;

    NomeImpcomp : String;

begin

  NomComp := Nome_do_Computador;

  Printer.GetPrinter(aDevice, aDriver, aPort, ahDMode);  //...Pega a Impressora padrao

  if OpenPrinter(aDevice, PrnHandle, nil) then begin

     GetPrinter(PrnHandle, 2, nil, 0, @PrnInfoSize);

     PrnInfo2 := AllocMem(PrnInfoSize);

     if GetPrinter(PrnHandle, 2, PrnInfo2, PrnInfoSize, @PrnInfoSize) then

          Label8.Caption := PrnInfo2^.pServerName +' | ' +

          PrnInfo2^.pPrinterName +' | ' +

          PrnInfo2^.pShareName

     else

        Label8.Caption := 'Falhou...';

     NomeImpcomp := PrnInfo2^.pShareName;

     ClosePrinter(PrnHandle);

     FreeMem(PrnInfo2, PrnInfoSize)

  end;

  with ACBrETQ do begin

     DPI           := TACBrETQDPI(cbDPI.ItemIndex);

     Modelo        := TACBrETQModelo(cbModelo.ItemIndex) ;

     //Porta         := cbPorta.Text ; caso seja COM ou LPT

     //ACBrETQ.Porta := '\\192.168.0.100\ZDesigne';  //........>funcionou

     //ACBrETQ.Porta := '\\'+NomComp+'\'+'ZDesigne'; //........>funcionou

     ACBrETQ.Porta := '\\'+NomComp+'\'+NomeImpcomp;  //........>funcionou

     LimparMemoria := ckMemoria.Checked ;

     Ativar ;

  end;

end;

---------------------------------

 

Postado (editado)

Olá boa noite!

Criei uma rotina para tratar impressoras.

Sei q qq um pode conseguir isto na net, mas vou disponibiliar aqui pois tive muito trabalho para fazer uma Impressora Zebra funcionar na USB.

a quem interessar está disponivil ja pronto aqui.

 

100+

 

ANT.CARLOS/SP

 

 

----------------------------

// Unites winspool, Printers

// Nome da impressora, nome compartilhado, n.porta, se está na rede //

//

function Get_NomeDaImpressoraCompartilhada(Var vServerName, vPrinterName, vShareName, vPorta:String; Var vRede:Boolean):String;
var PrinterInfo: PPrinterInfo2;
    PrnHandle :THandle;
    PrnInfo2 :PPRINTERINFO2;
    PrnInfoSize :DWord;

    pDevice : pChar;
    pDriver : pChar;
    pPort : pChar;
    hDMode : THandle;


Begin
    Result := '';
    vServerName := '';   //na rede "\\192.168.0.157" compart. local retorna nil
    vPrinterName:= '';   //na rede "\\192.168.0.157\EpsonLX-300"
    vShareName  := '';   //na rede "LX-300"
    vRede       := false;
    vPorta      := '';
    printDialog1 := TPrintDialog.Create(nil);

    If printDialog1.Execute Then begin
       if OpenPrinter(PChar(Printer.Printers.Strings[Printer.PrinterIndex]), PrnHandle, nil) then begin
          GetMem(pDevice, cchDeviceName);
          GetMem(pDriver, MAX_PATH);
          GetMem(pPort, MAX_PATH);
          Printer.GetPrinter(pDevice, pDriver, pPort, hDMode);
          if lStrLen(pDriver) = 0 then begin
             GetProfileString('Devices', pDevice, '', pDriver, MAX_PATH);
             pDriver[pos(',', pDriver) - 1] := #0;
          end;
          if lStrLen(pPort) = 0 then begin
             GetProfileString('Devices', pDevice, '', pPort, MAX_PATH);
             lStrCpy(pPort, @pPort[lStrLen(pPort)+2]);
          end;
          vPorta := StrPas(pPort);

          GetPrinter(PrnHandle, 2, nil, 0, @PrnInfoSize);
          PrnInfo2 := AllocMem(PrnInfoSize);
          if GetPrinter(PrnHandle, 2, PrnInfo2, PrnInfoSize, @PrnInfoSize) then Begin
             Result := PrnInfo2^.pShareName;
             vServerName:= PrnInfo2^.pServerName;
             vPrinterName:= PrnInfo2^.pPrinterName;
             vShareName := PrnInfo2^.pShareName;
             If Pos('\\',vServerName) > 0 Then
                vRede := true;
          End else
             Application.MessageBox('Erro ao conectar Impressora!','Erro',MB_Ok+mb_IconInformation);
          ClosePrinter(PrnHandle);
          FreeMem(PrnInfo2, PrnInfoSize)
       end;
    end;
    printDialog1.Free;
End;
----------------------------

Editado por ANT.CARLOS.SP
  • Este tópico foi criado há 4258 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.