Ir para conteúdo
  • Cadastre-se

dev botao

Onbobinaadicionalinhas


Ver Solução Respondido por Rafael Batiati,
  • Este tópico foi criado há 4357 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Ola Rafael, como está

 

O q esta acontecendo, na tela de venda utilizo o metodo sem problemas em conjunto com o component webbrowser, mas testei a seguinte situação.

 

Encerro o programa com um cupom aberto no ECF, entro no programa novamente e verifico a situação da impressora e vejo que está com um cupom aberto, nesse momento abro uma tela para cancelamento do cupom, se tenho o metodo declarado funciona sem problemas, mas se não declaro o método aparece o seguinte erro no acbr

 

Invoke or BeginInvoke cannot be called on a control until the windows handle has bee created

 

esse erro acontece no metodo abaixo, por isso perguntei se existia alguma propriedade para ativar / desativar o uso do método.

 

grd abs

 

 

 


protected void Raise(EventArgs e)
{
if (eventHandler != null)
{
ISynchronizeInvoke synchronizeInvoke = eventHandler.Target as ISynchronizeInvoke;
 
if (synchronizeInvoke == null)
{
eventHandler.DynamicInvoke(this, e);
}
else
{
synchronizeInvoke.Invoke(eventHandler, new object[] { this, e });
}
}
}
 

 

 

 

 
  • Fundadores
Postado

Use um Flag interno no seu programa, onde você pode desligar e ligar o log na bobina.. exemplo:
 

 

procedure TFrVenda.ACBrECF1BobinaAdicionaLinhas(const Linhas,
  Operacao: String);
begin
  if not fAdicionaLinhasBobina then exit ;   // IGNORA ?

  WriteToTXT(CupomArqTXT , Linhas, True);

  fMemoProduto := fMemoProduto +  Linhas ;
  WB_LoadHTML( tvCupom, fMemoProduto ) ;
  MemoProdutoGoBottom;
end;

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.

Postado

Ola, bom dia.

 

Isso sem problemas, mas a exception esta acontecendo dentro acbr framework, na classe ACBrInteropEventHandlerBase.cs no método que passei acima, então ele nem no meu programa para testar a condição.

 

grd abs.

Postado

Pelo que eu vi o q acontece é que o evento é invocado mais a form ainda não foi carregada.

você faz a checagem antes de abrir o form, se sim tente abrir ou pelo menos fazer o load dela antes, isto deve para com o erro.

Outra solução seria setar o evento apenas apos fazer esta checagem.

 

  • Solution
Postado

Pelo visto você atachou o evento com um += ao componente ...  depois fechou o form que declarava o método que foi atachado.

E quando você chama o evento novamente, ele não consegue usar o controle, pois já foi fechado.

 

Você deve fazer o += para atachar o evento, e ao fechar o form, o -= para remover.

Abs

Rafael Batiati

ACBrFramework - Automação comercial para todos.

MultiClubes - Soluções para a área de clubes, parques, lazer e entretenimento.

  • Este tópico foi criado há 4357 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.