Jump to content

dev botao

Erro ao tentar ativar impressora com ACBr32.dll


  • Este tópico foi criado há 4413 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 to comment
Share on other 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 to comment
Share on other sites

  • Este tópico foi criado há 4413 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.

The popup will be closed in 10 seconds...