Jump to content

dev botao

Ativar x Pouco Papel


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

Recommended Posts

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.

Link to comment
Share on other sites

    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

 

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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