Jump to content

Assista click.png tectoy.png

C6 chamada_c6.png botao.png

Onbobinaadicionalinhas


andresantana
Go to solution Solved by Rafael Batiati,
  • Este tópico foi criado há 3444 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Boa noite Andre,

 

Como assim desativar?

No nosso caso, se o evento não for assinado ele também não é processado nem disparado, ou seja, não gera custo pro componente.

 

abs

Rafael Batiati

ACBrFramework - Automação comercial para todos.

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

Link to comment
Share on other sites

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 });
}
}
}
 

 

 

 

 
Link to comment
Share on other sites

  • Fundadores

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.

Link to comment
Share on other sites

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.

Consultor SAC ACBr Rafael Dias
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Desenvolvedor ACBrLib.

 

Link to comment
Share on other sites

  • Solution

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.

Link to comment
Share on other sites

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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.