 |
ActiveDelphi .: O site do programador Delphi! :.
|
Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
daniel.brasystem Novato

Registrado: Segunda-Feira, 30 de Abril de 2012 Mensagens: 22
|
Enviada: Qua Mai 16, 2012 9:49 am Assunto: Exemplo de utilização ACBr32.dll |
|
|
Algume tem algum exemplo de utilização dessa dll (ACBr32.dll). Estou querendo usála e não se por onde começar. Pode ser algo simples, como ativar a impressora, abrir um cupom, e cancelá-lo.
Estou sem saber por onde começar.
Obrigado. |
|
Voltar ao Topo |
|
 |
Borland_Linuxer Moderador

Registrado: Terça-Feira, 11 de Outubro de 2005 Mensagens: 4252 Localização: Manaus - Am
|
Enviada: Qua Mai 16, 2012 11:09 am Assunto: Re: Exemplo de utilização ACBr32.dll |
|
|
daniel.brasystem escreveu: | Algume tem algum exemplo de utilização dessa dll (ACBr32.dll). Estou querendo usála e não se por onde começar. Pode ser algo simples, como ativar a impressora, abrir um cupom, e cancelá-lo.
Estou sem saber por onde começar.
Obrigado. |
Você ja testou usar o demo da dll? _________________ Abraços
Sérgio Guedes
www.lsisistemas.com.br
www.scvarejo.com.br - Projetos para parceiros e desenvolvedores |
|
Voltar ao Topo |
|
 |
daniel.brasystem Novato

Registrado: Segunda-Feira, 30 de Abril de 2012 Mensagens: 22
|
Enviada: Qua Mai 16, 2012 1:58 pm Assunto: Exemplo de utilização ACBr32.dll |
|
|
Voce diz o demo que tem na pasta ACBr? Mas esse demo utiliza o componente ACBrECF. Gostaria de um exemplo utilizando Delphi. Para entender melhor:
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:
Código: | 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? |
|
Voltar ao Topo |
|
 |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|