none
Balança usando P05.dll RRS feed

  • Pergunta

  • Ola, estou tentando fazer um programa para ler o peso de uma balança qualquer porem ele esta dando esse "A cadeia de caracteres de entrada não estava em um formato correto." e não sei oque fazer já pesquisei muito porem não da certo.

    Trecho do código:

    [DllImport("P05.DLL")]

     public static extern int AbrePorta(int porta, int velocidade, int dataBits, int paridade);

     [DllImport("P05.DLL")]

     public static extern int FechaPorta();

     [DllImport("P05.DLL")]

     public static extern int PegaPeso(int tipoEscrita, StringBuilder peso, string diretorio);

     public decimal RetornaPeso(int portaCom)
            {
                try
                {
                    int retorno = AbrePorta(portaCom, 0, 1, 1);
                    if (retorno == 1)
                    {
                        StringBuilder pesoString = new StringBuilder();
                        string peso1 = Convert.ToString(pesoString);

                        retorno = PegaPeso(1, pesoString, ""); // Aqui esta com problema
                        //decimal peso = Convert.ToDecimal(pesoString.ToString());
                        decimal peso = Convert.ToDecimal(peso1);

                        retorno = FechaPorta();
                        MessageBox.Show(Convert.ToString(peso));
                        if (retorno == 1)
                        {
                            MessageBox.Show(Convert.ToString(peso));
                            return peso;
                        }
                        else
                        {
                            MessageBox.Show(Convert.ToString(peso));
                            //Erro ao fechar porta
                        }
                    }
                    else
                    {
                        MessageBox.Show("Erro");
                        //Erro ao abrir a porta
                    }
                }
                catch (Exception w)
                {
                    richTextBox1.Text = "Erro = " + w.Message;
                }
                return 0;

    private void button1_Click(object sender, EventArgs e)
     {
          RetornaPeso(3);
     }

    sábado, 5 de outubro de 2019 00:38

Todas as Respostas

  • Bom dia, tudo bem?

    Você já experimentou ver o que está sendo retornado dentro desta string? Verificou se coincide com os valores que está esperando receber?

    Atenciosamente, 


    Igor F. Kunrath

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    segunda-feira, 7 de outubro de 2019 14:00
    Moderador