Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Olá.

Esse erro E2010 Incompatible types: 'string' and 'AnsiString' , eu resolvi alterando a unit1 ficou assim

    procedure ACBrMTer1Conecta(const IP: AnsiString);
    procedure ACBrMTer1Desconecta(const IP: AnsiString; Erro: Integer;  ErroDesc: AnsiString);
    procedure ACBrMTer1RecebeDados(const IP: AnsiString; var Recebido: AnsiString);

    function AlterarEstadoTerminal(aIP: AnsiString; aEstado: Integer): Boolean;

    procedure AvaliarRespostaTerminal(aIP: AnsiString; var aString: AnsiString);

na declaração e na procedure/função, mas ainda na hora de compilar ele avisa que a procedure ACBrMTer1RecebeDados é incompatível e se que retirar a declaração, é só dizer que não que compila e funciona normal.

Uso o XE7.

para a leitura da balança o exemplo da willtec usa essa procedure

procedure TFTerminal.terminalBalanca(xterminal: Pointer);
begin
  with PTerminal(xterminal)^ do
  begin
    // socket.SendText(#27 + '[?24h' + #27 + '[5i' + #5 + #27 + '[4i');                            //Serial 1 para MT TCP

     socket.SendText(Chr(27) + '[?24r' + Chr(27) + '[5i' + Chr(5) + Chr(27) + '[4i');    // serial 0 para MT TCP
  end;
end;

 

no emulador de balança não funcionou, mas acho que é falha do emulador de terminal porque é em uma janela dele que se coloca o peso e envia, e também é onde simula a impressão, eu não entendi qual a diferença entre as duas linhas que seleciona a porta serial, mas vou testar com um socket e depois ver se é possível mandar a string pelo ACBrMter , enviar texto pela serial também não funcionou com os emuladores, vou testar fisicamente, se der certo eu passo a solução mas aceito alguma ideia.  

Postado

Boa tarde

Sim eu atualizei a partir do trunk2, mas eu não alterei o fonte ACBrMTer, mas sim a unit1 do exemplo.

O Delphi XE7 sempre da esse tipo de problema, quando migra do D7 que é onde eu tenho vários projetos e vou ter que migrar todos, principalmente por causa da NFe com a partilha de icm e as outras mudanças.

Desculpe eu realmente não tenho experiencia em comentários, como vi alguém com esse problema de incompatibilidade, achei valido mostrar minha solução, e no caso da leitura da balança vou testar as opções do acbrmter e do exemplo do fabricante, mas com a conexão física.

Os emuladores ajudam mas, no local é melhor.

Eu alterei mais coisas, o tipo do campo na linha 457(AvaliarRespostaTerminal) e outras referencias iguais, o arquivo UTerminal é da willtech a procedure é terminalBalanca linha 618.

Espero ter sido util.

Obrigado.

 

 

unit1.zip

UTerminal.zip

  • Fundadores
Postado

Apague nos fontes do Demo, o Evento que está como "String", e deixe a IDE, criá-lo novamente como AnsiString..

A balança já está funcional... não precisa descomentar fontes... Sugiro acompanhar o Demo em Lazarus, que é o que trabalhamos, e está mais atualizado..

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

  • 5 meses depois ...
Postado

Pessoal boa tarde! Desculpe a ignorância, mas este tópico trata a comunicação com o equipamento da foto em anexo?

Caso seja, é possível usar no acbrmonitor?

Obrigado!

gradual-terminal.png

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

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • 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...