Ir para conteúdo
  • Cadastre-se

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

Recommended Posts

Postado

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?

  • Este tópico foi criado há 5145 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...
The popup will be closed in 10 segundos...