Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Bom dia.

Quando usava a ACBr32 mesmo que houvesse pouco papel ela conseguia ativar a ECF.

Agora que mudei para ACBrFramework32 não ativa mais quando tem pouco  papel ou a ECF por algum problema no sensor fica acusando ter pouco papel mesmo com bobina nova.

Não retorna mensagem de erro, somente para de procurar a ECF.

Estou usando VB.net. Desde já agradeço.

Postado
    Private Function Ativar() As Boolean

        DisplayMsg("Procurando ECF instalada", MessageBoxButtons.OK, MessageBoxIcon.Asterisk)
        Application.DoEvents()

        Try

            Paf_ACBr.AcbrECF.Modelo = CType(cbModelo.SelectedItem, Paf_Enumeracao.ModeloECF)
            Paf_ACBr.AcbrECF.Device.Porta = cbPorta.Text
            Paf_ACBr.AcbrECF.Device.TimeOut = 100

            Paf_ACBr.AcbrECF.Device.Baud = cbBaud.Text.Trim
            Paf_ACBr.AcbrECF.Device.DataBits = cbDataBits.Text.Trim
            Paf_ACBr.AcbrECF.Device.Parity = CType(cbParity.SelectedItem, Paf_Enumeracao.Parity)
            If cbStopBits.SelectedIndex = 0 Then
                Paf_ACBr.AcbrECF.Device.StopBits = ACBrFramework.SerialStopBits.One
            ElseIf cbStopBits.SelectedIndex = 1 Then
                Paf_ACBr.AcbrECF.Device.StopBits = ACBrFramework.SerialStopBits.OneAndHalf
            ElseIf cbStopBits.SelectedIndex = 2 Then
                Paf_ACBr.AcbrECF.Device.StopBits = ACBrFramework.SerialStopBits.Two
            End If
            Paf_ACBr.AcbrECF.Device.HandShake = CType(cbHandshaking.SelectedItem, Paf_Enumeracao.HandShake)
            Paf_ACBr.AcbrECF.Device.HardFlow = IIf(chkHardFlow.Checked = True, True, False)
            Paf_ACBr.AcbrECF.Device.SoftFlow = IIf(chkSoftFlow.Checked = True, True, False)

            Paf_ACBr.AcbrECF.GavetaSinalInvertido = gavetaCheckBox.Checked
            Paf_ACBr.AcbrECF.DescricaoGrande = descricaoCheckBox.Checked

            Paf_ACBr.AcbrECF.Ativar()

            Return True

        Catch exception As Exception
            Return False
        Finally
            DisplayMsgFinaliza()
        End Try

    End Function

 

Postado

Compilei o ACBRFramework.Net e executei a aplicação pelo código (Debug) e deu certo quando acrescentei o evento:

Public Shared Sub ACBrECF_OnMsgPoucoPapel(ByVal sender As Object, ByVal e As System.EventArgs)

Quando compilei minha aplicação e executei pelo exe o problema continuou.

Postado

Se possível, preciso de um norte no problema DISK FULL.

Achei um post seu onde você orientou a criar o evento onMsgPoucoPapel. Fiz as implementações mas não obtive sucesso.

Criei o formulário com o seguinte código (Vb.net):

 Public Class frmMensagem

    Public WithEvents ACBrECF As ACBrFramework.ECF.ACBrECF

    Private Sub frmMensagem_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Try
            Me.BringToFront()
        Catch ex As Exception
            MessageBox.Show(ex.Message, Me.Text, MessageBoxButtons.OK, MessageBoxIcon.Error)
        End Try
    End Sub

    Private Sub ACBrECF_OnMsgPoucoPapel(ByVal sender As Object, ByVal e As System.EventArgs)
        DisplayMsg("Pouco papel...aguarde", MessageBoxButtons.OK, MessageBoxIcon.Asterisk)
    End Sub

End Class

O código que ativa a ECF é o seguinte

 Dim frm As New frmMensagem
frm.ACBrECF = Paf_ACBr.AcbrECF
Try
    Paf_ACBr.AcbrECF.Ativar()
Catch ex As Exception
    MessageBox.Show("erro Disk Full")
Finally
    frm.Dispose()
    frm = Nothing
End Try                        

 

O estranho é que se um executar minha aplicação pelo F5 (Debug) ela ativa e trata corretamente a mensagem do pouco papel, mesmo sem o código acima. Quanto eu compilo pelo release ocorre o erro, não ativando a ECF.

Outra questão é mesmo que a mensagem do pouco papel seja resolvida, conseguirei ativar a ECF? Porque o problema principal é a ativação que não ocorre por causa do status de pouco papel retornado pelo equipamento, mesmo que ainda tenha muito papel na bobina.

obs: Compilei a ACBrFramework.Net.dll para x86 e usei a ACBrFramework32.dll que veio do SVN,

Se puder me ajudar, desde já agradeço, pois meu suporte aumentou por causa disso e estou levando meus clientes na conversa até agora.

Abraço

Postado

O problema só foi resolvido quando adicionei a dll na ToolBox e adicionei o componente ACBrECF no form principal.

Somente desta forma o Handles AcBrECF1.OnMsgPoucoPapel ficou disponível.

Declarar o Handles AcBrECF1.OnMsgPoucoPapel por  Public WithEvents ACBrECF As ACBrFramework.ECF.ACBrECF não funfou.

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