BEMATECH
22/04/2016
0
Estou com o emulador da BEMATECH MP-4200 e DELPHI 2010. Estou usando as Dlls 32 bits.
Como referencia de uso das funções estou usando o manual da prórpia bematech http://www3.bematech.com.br/suporte/bemafi32/index.html?configuracao.htm
Tenho uma procedure inicial :
Eu tentei também:
O retorno é -2 a dizer que o parâmetro esta errado. Tentei busca no forum da bematech mas esta fora do ar.
Contudo se retiro o cpf da função, deixando em branco, da certo.
Porém, para alguns exemplos do manual, como a simulação de um produto, não vai retornando o mesmo erro.
Outro detalhe. Fazendo outro teste com base em um livro de automação comercial, veja a rotina:
Esse código retorna alguma coisa na impressora: em nome apenas um caractere "F", em endereço apenas um caractere "d". Teoricamente, suponho que o problema seja com o emulador na declaração do tamanho da variável dada por parâmetro.
Vou ter que abrir a DLL ou alguem tem uma solução pra tanto trabalho?
A imagem do resultado esta aqui [neste site tem opção de subir porém, não sei onde foi parar a imagem, dai ela esta no link à frente]: https://uploaddeimagens.com.br/imagens/sa-png--62
Alguém pode me ajudar por favor, com uma lógica para isso?
Obrigado
att
Como referencia de uso das funções estou usando o manual da prórpia bematech http://www3.bematech.com.br/suporte/bemafi32/index.html?configuracao.htm
Tenho uma procedure inicial :
procedure TForm1.Button2Click(Sender: TObject); var iRetorno: integer; cCPF:string; iACK, iST1, iST2, iST3: integer; begin //cCPF := '11.111.111-11'; iRetorno := Bematech_FI_AbreCupom( pchar( cCPF ) ); ShowMessage(IntToStr(iRetorno)); iRetorno := Bematech_FI_RetornoImpressoraMFD( iACK, iST1, iST2, iST3 ); //ShowMessage(IntToStr(iRetorno)); end;
Eu tentei também:
procedure TForm1.Button2Click(Sender: TObject); var iRetorno: integer; iACK, iST1, iST2, iST3: integer; cCPF, cNome: string; begin // Abre o Cupom Fiscal cCPF := '11.111.111-11'; cNome := 'Fulano de Tal'; iRetorno := Bematech_FI_AbreCupom( PAnsiChar(AnsiString(Edit1.Text)) ); ShowMessage(IntToStr(iRetorno)); iRetorno := Bematech_FI_RetornoImpressoraMFD( iACK, iST1, iST2, iST3 ); ShowMessage(IntToStr(iRetorno)); end;
O retorno é -2 a dizer que o parâmetro esta errado. Tentei busca no forum da bematech mas esta fora do ar.
Contudo se retiro o cpf da função, deixando em branco, da certo.
Porém, para alguns exemplos do manual, como a simulação de um produto, não vai retornando o mesmo erro.
Outro detalhe. Fazendo outro teste com base em um livro de automação comercial, veja a rotina:
procedure TForm1.Button2Click(Sender: TObject);
var
iRetorno: integer;
iACK, iST1, iST2, iST3: integer;
cCPF, cNome: string;
iCasas: integer;
cCodigo, cDescricao, cAliquota, cTipoQuantidade, cQTDE,
cValorUnitario, cTipoDesconto, cDesconto: string;
cNumeroItem, cDescAcresc, cTipo, cValor: string;
cValorDesc: string;
begin
// Abre o Cupom Fiscal
cCPF := Edit1.Text;
cNome := 'Fulano de Tal';
iRetorno := Bematech_FI_AbreCupomMFD( ( cCPF ),
( cNome ), PAnsichar( 'dd' ) );
ShowMessage(IntToStr(iRetorno));
{..etc}
end;
var
iRetorno: integer;
iACK, iST1, iST2, iST3: integer;
cCPF, cNome: string;
iCasas: integer;
cCodigo, cDescricao, cAliquota, cTipoQuantidade, cQTDE,
cValorUnitario, cTipoDesconto, cDesconto: string;
cNumeroItem, cDescAcresc, cTipo, cValor: string;
cValorDesc: string;
begin
// Abre o Cupom Fiscal
cCPF := Edit1.Text;
cNome := 'Fulano de Tal';
iRetorno := Bematech_FI_AbreCupomMFD( ( cCPF ),
( cNome ), PAnsichar( 'dd' ) );
ShowMessage(IntToStr(iRetorno));
{..etc}
end;
Esse código retorna alguma coisa na impressora: em nome apenas um caractere "F", em endereço apenas um caractere "d". Teoricamente, suponho que o problema seja com o emulador na declaração do tamanho da variável dada por parâmetro.
Vou ter que abrir a DLL ou alguem tem uma solução pra tanto trabalho?
A imagem do resultado esta aqui [neste site tem opção de subir porém, não sei onde foi parar a imagem, dai ela esta no link à frente]: https://uploaddeimagens.com.br/imagens/sa-png--62
Alguém pode me ajudar por favor, com uma lógica para isso?
Obrigado
att
Squirreal
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)