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]

Responder a