Boa tarde senhores!!! Tenho uma impressão em feita pelo sistema e vai tudo normal! Mas esta sendo feita no win98 e por necessidade temos que trocar a maquina e colocar WinXP e com isso a impressora parou de imprimir...
Quando direciono para a COM1 o retorno é 0 ( zero ); caso direciono na LPT1 o retorno é -3 Baixei a DLL 1.2.2 -> BEMADP32.dll Utilizo o Delphi5 segue codigo /***********************************/; function ImprimeCheque(porta, banco, valor, cidade, favorecido, data, msg: string): boolean; var iRetorno : integer; begin Result := false; //Abre a porta de comunicacao. Esta instrucao eh OBRIGATORIA. iRetorno := Bematech_DP_IniciaPorta(pchar(porta)); if iRetorno = 0 then MessageDlg('Erro ao abrir a porta de comunicação...',mtError,[mbOk],0) else begin // imprime iRetorno := Bematech_DP_ImprimeCheque(Pchar(banco), PChar(valor), Pchar(favorecido), Pchar(cidade), PChar(data), PChar('')); if iRetorno = 0 then MessageDlg('Erro de Comunicação com a Impressora. Verifique.', mtInformation, [mbOk], 0); if iRetorno = -2 then MessageDlg('Parâmetro Inválido. Verifique.', mtInformation, [mbOk], 0); if iRetorno = -3 then MessageDlg('Banco não encontrado no arquivo de bancos. Verifique.', mtInformation, [mbOk], 0); // conseguiu imprimir - agora imprime o verso se tiver if iRetorno = 1 then begin Result := true; //MessageDlg('Os dados foram enviados com sucesso.', mtInformation, [mbOk], 0); if msg <> '' then begin ShowMessage('Vire o cheque e pressione OK para imprimir o texto no verso...'); Bematech_DP_ImprimeTexto(msg, 1); end; end; // Finaliza a comunicacao com a impressora. Esta instrucao eh OBRIGATORIA iRetorno := Bematech_DP_FechaPorta(); if iRetorno = 0 then MessageDlg('Erro ao fechar a porta de comunicação...',mtInformation,[mbOk],0); end; end; /********************************/ a declaração das funções estão na mesma unit! //Função para abrir a porta de comunicação function Bematech_DP_IniciaPorta(Porta: string): integer; stdcall; far; external 'BemaDP32.dll'; //Função para fechar a porta de comunicação function Bematech_DP_FechaPorta: integer; stdcall; far; external 'BemaDP32.dll'; //Função para imprimir o cheque normal function Bematech_DP_ImprimeCheque(Banco: string; Valor: string; Favorecido: string; Cidade: string; Data: string; Mensagem: string): integer; stdcall; far; external 'BemaDP32.dll'; //Função para travar o documento function Bematech_DP_TravaDocumento(Trava: integer): integer; stdcall; far; external 'BemaDP32.dll'; //Função para imprimir texto sem formatação function Bematech_DP_ImprimeTexto(Texto: string; AvancaLinha: integer): integer; stdcall; far; external 'BemaDP32.dll'; //Função para enviar comandos para a impressora function Bematech_DP_EnviaComando(Comando: string): integer; stdcall; far; external 'BemaDP32.dll'; function ImprimeCheque(porta, banco, valor, cidade, favorecido, data, msg: string): boolean; Alguem ja pssou por isso??? qualquer ajuda será bem vinda Obrigado Marcos Bernardo [As partes desta mensagem que não continham texto foram removidas]