Ir para conteúdo
  • Cadastre-se

dev botao

Erro ao tentar ativar impressora com ACBr32.dll


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

Recommended Posts

Olá pessoal... estou utilizando a dll ACBr32.dll em um projeto em Deplhi 6 para controle de impressoras. Não consegui instalar os componentes do ACBr no Delphi por conta de outros pacotes que o meu sistema utiliza que não permitem que o ACBr seja instalado (dá erro na instalação do ACBrSerial.dpk.

Fiz um projetinho simples em Delphi apenas para testar a ativação da porta da impressora mas não sei o que posso estar fazendo de errado. Alguém pode me ajudar. Abaixo vai o código com o click do botão que ativa a impressora:

unit Unit1;


interface


uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,

  Forms, Dialogs, StdCtrls;


type

  TForm1 = class(TForm)

    Button1: TButton;

    procedure Button1Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;


var


  Form1: TForm1;

Function ECF_Create(const ecfHandle: pointer) : Integer; {$IFDEF STDCALL} stdcall; {$ENDIF} {$IFDEF CDECL} cdecl; {$ENDIF}  external 'ACBr32.dll';

Function ECF_SetModelo(const ecfHandle: pointer; const Modelo : Integer) : Integer; {$IFDEF STDCALL} stdcall; {$ENDIF} {$IFDEF CDECL} cdecl; {$ENDIF}  external 'ACBr32.dll';

Function ECF_SetPorta(const ecfHandle: pointer; const Porta : pChar) : Integer; {$IFDEF STDCALL} stdcall; {$ENDIF} {$IFDEF CDECL} cdecl; {$ENDIF}  external 'ACBr32.dll';

Function ECF_Ativar(const ecfHandle: pointer) : Integer; {$IFDEF STDCALL} stdcall; {$ENDIF} {$IFDEF CDECL} cdecl; {$ENDIF}  external 'ACBr32.dll';

Function ECF_Desativar(const ecfHandle: pointer) : Integer; {$IFDEF STDCALL} stdcall; {$ENDIF} {$IFDEF CDECL} cdecl; {$ENDIF}  external 'ACBr32.dll';

Function ECF_AbreCupom(const ecfHandle: pointer; const CPF_CNPJ, Nome, Endereco : pChar) : Integer; {$IFDEF STDCALL} stdcall; {$ENDIF} {$IFDEF CDECL} cdecl; {$ENDIF}  external 'ACBr32.dll';

Function ECF_CancelaCupom(const ecfHandle: pointer) : Integer ; {$IFDEF STDCALL} stdcall; {$ENDIF} {$IFDEF CDECL} cdecl; {$ENDIF} external 'ACBr32.dll';


implementation


  //*Modelos de ECF

  const

    ECF_Nenhum = 0;

    ECF_NaoFiscal = 1;

    ECF_Bematech = 2;

    ECF_Sweda = 3;

    ECF_Daruma = 4;

    ECF_Schalter = 5;

    ECF_Mecaf = 6;

    ECF_Yanco = 7;

    ECF_DataRegis = 8;

    ECF_Urano = 9;

    ECF_ICash = 10;

    ECF_Quattro = 11;

    ECF_FiscNET = 12;

    ECF_Epson = 13;

    ECF_NCR = 14;

    ECF_SwedaSTX = 15;


    //*ESTADOS DO ECF

    ESTADO_NaoInicializada = 0;

    ESTADO_Desconhecido = 1;

    ESTADO_Livre = 2;

    ESTADO_Venda = 3;

    ESTADO_Pagamento = 4;

    ESTADO_Relatorio = 5;

    ESTADO_Bloqueada = 6;

    ESTADO_RequerZ = 7;

    ESTADO_RequerX = 8;

    ESTADO_NaoFiscal = 9;


{$R *.dfm}


procedure TForm1.Button1Click(Sender: TObject);

var

  ihandle : ^integer;

  i: integer;

begin

    ECF_Create(@ihandle);

    ECF_SetPorta(ihandle,PChar('COM1')); //AQUI DÁ UM ERRO DE ACCESS VIOLATION

    ECF_SetModelo(ihandle,ECF_Daruma);

    i:= ECF_Ativar(ihandle);

    showmessage(inttostr(i)); //AQUI PEGO O RETORNO DA FUNÇÃO PARA VER SE ESTÁ ATIVANDO

 end;

Alguém pode me ajudar?

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Tópico trancado.

Para de criar tópicos repetidos para tratar do mesmo assunto. Se ninguém te respondeu é pq ninguém passou pelo mesmo problema.

djsystem-logo.png
 youtube.png facebook.png instagram.png linkedin.png
André Ferreira de Moraes | Analista de Sistemas
www.djsystem.com.br | www.djpdv.com.br
www.tefhouse.com.br | www.lambretinha.com.br
Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 4360 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.

The popup will be closed in 10 segundos...