При запуске приложения на турецкой системе программа вываливается с ошибкой - C#

Узнай цену своей работы

Формулировка задачи:

В чем может быть проблема? При запуске приложения на турецкой системе программа вываливается с ошибкой... Может быть дело в локали системы?
<?xml version="1.0" encoding="UTF-16"?>
<DATABASE>
<EXE NAME="ЕвроКомплект Счетчик Стеклопакетов(Andruino).exe" FILTER="CMI_FILTER_PRIVACY">
    <MATCHING_FILE NAME="MySql.Data.dll" SIZE="376832" CHECKSUM="0xCF05FF15" BIN_FILE_VERSION="6.5.4.0" BIN_PRODUCT_VERSION="6.5.4.0" PRODUCT_VERSION="6.5.4.0" FILE_DESCRIPTION="MySql.Data.dll" COMPANY_NAME="Oracle" FILE_VERSION="6.5.4.0" ORIGINAL_FILENAME="MySql.Data.dll" INTERNAL_NAME="MySql.Data.dll" LEGAL_COPYRIGHT="Copyright © 2004, 2010, Oracle and/or its affiliates. All rights reserved." VERDATEHI="0x0" VERDATELO="0x0" VERFILEOS="0x4" VERFILETYPE="0x2" MODULE_TYPE="WIN32" PE_CHECKSUM="0x5CFB2" LINKER_VERSION="0x0" UPTO_BIN_FILE_VERSION="6.5.4.0" UPTO_BIN_PRODUCT_VERSION="6.5.4.0" LINK_DATE="03/05/2012 20:19:06" UPTO_LINK_DATE="03/05/2012 20:19:06" VER_LANGUAGE="Language Neutral [0x0]" EXE_WRAPPER="0x0" />
    <MATCHING_FILE NAME="ЕвроКомплект Счетчик Стеклопакетов(Andruino).exe" SIZE="188928" CHECKSUM="0x34E29F53" BIN_FILE_VERSION="1.0.0.0" BIN_PRODUCT_VERSION="1.0.0.0" PRODUCT_VERSION="1.0.0.0" FILE_DESCRIPTION="ЕвроКомплект Счетчик Стеклопакетов(Andruino)" PRODUCT_NAME="ЕвроКомплект Счетчик Стеклопакетов(Andruino)" FILE_VERSION="1.0.0.0" ORIGINAL_FILENAME="ЕвроКомплект Счетчик Стеклопакетов(Andruino).exe" INTERNAL_NAME="ЕвроКомплект Счетчик Стеклопакетов(Andruino).exe" LEGAL_COPYRIGHT="Copyright ©  2014" VERDATEHI="0x0" VERDATELO="0x0" VERFILEOS="0x4" VERFILETYPE="0x1" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x0" UPTO_BIN_FILE_VERSION="1.0.0.0" UPTO_BIN_PRODUCT_VERSION="1.0.0.0" LINK_DATE="10/28/2014 03:55:49" UPTO_LINK_DATE="10/28/2014 03:55:49" VER_LANGUAGE="Language Neutral [0x0]" EXE_WRAPPER="0x0" />
    <MATCHING_FILE NAME="ЕвроКомплект Счетчик Стеклопакетов(Andruino).vshost.exe" SIZE="11600" CHECKSUM="0x457DC41D" BIN_FILE_VERSION="10.0.30319.1" BIN_PRODUCT_VERSION="10.0.30319.1" PRODUCT_VERSION="10.0.30319.1" FILE_DESCRIPTION="vshost32.exe" COMPANY_NAME="Microsoft Corporation" PRODUCT_NAME="Microsoft (R) Visual Studio (R) 2010" FILE_VERSION="10.0.30319.1" ORIGINAL_FILENAME="vshost32.exe" INTERNAL_NAME="vshost32.exe" LEGAL_COPYRIGHT="© Microsoft Corporation. All rights reserved." VERDATEHI="0x0" VERDATELO="0x0" VERFILEOS="0x4" VERFILETYPE="0x1" MODULE_TYPE="WIN32" PE_CHECKSUM="0x4CDB" LINKER_VERSION="0x0" UPTO_BIN_FILE_VERSION="10.0.30319.1" UPTO_BIN_PRODUCT_VERSION="10.0.30319.1" LINK_DATE="03/18/2010 11:02:35" UPTO_LINK_DATE="03/18/2010 11:02:35" VER_LANGUAGE="Language Neutral [0x0]" EXE_WRAPPER="0x0" />
    <MATCHING_FILE NAME="en-EDU-biotime\ЕвроКомплект Счетчик Стеклопакетов(Andruino).resources.dll" SIZE="74752" CHECKSUM="0x490821A8" BIN_FILE_VERSION="1.0.0.0" BIN_PRODUCT_VERSION="1.0.0.0" PRODUCT_VERSION="1.0.0.0" FILE_DESCRIPTION="ЕвроКомплект Счетчик Стеклопакетов(Andruino)" PRODUCT_NAME="ЕвроКомплект Счетчик Стеклопакетов(Andruino)" FILE_VERSION="1.0.0.0" ORIGINAL_FILENAME="ЕвроКомплект Счетчик Стеклопакетов(Andruino).resources.dll" INTERNAL_NAME="ЕвроКомплект Счетчик Стеклопакетов(Andruino).resources.dll" LEGAL_COPYRIGHT="Copyright ©  2014" VERDATEHI="0x0" VERDATELO="0x0" VERFILEOS="0x4" VERFILETYPE="0x2" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x0" UPTO_BIN_FILE_VERSION="1.0.0.0" UPTO_BIN_PRODUCT_VERSION="1.0.0.0" LINK_DATE="10/28/2014 03:55:49" UPTO_LINK_DATE="10/28/2014 03:55:49" VER_LANGUAGE="Language Neutral [0x0]" EXE_WRAPPER="0x0" />
</EXE>
<EXE NAME="KERNELBASE.dll" FILTER="CMI_FILTER_THISFILEONLY">
    <MATCHING_FILE NAME="KernelBase.dll" SIZE="272384" CHECKSUM="0x41CCF929" BIN_FILE_VERSION="6.1.7600.16850" BIN_PRODUCT_VERSION="6.1.7600.16850" PRODUCT_VERSION="6.1.7600.16385" FILE_DESCRIPTION="Windows NT BASE API Client DLL" COMPANY_NAME="Microsoft Corporation" PRODUCT_NAME="Microsoft® Windows® Operating System" FILE_VERSION="6.1.7600.16385 (win7_rtm.090713-1255)" ORIGINAL_FILENAME="Kernelbase" INTERNAL_NAME="Kernelbase" LEGAL_COPYRIGHT="© Microsoft Corporation. All rights reserved." VERDATEHI="0x0" VERDATELO="0x0" VERFILEOS="0x40004" VERFILETYPE="0x2" MODULE_TYPE="WIN32" PE_CHECKSUM="0x486EF" LINKER_VERSION="0x60001" UPTO_BIN_FILE_VERSION="6.1.7600.16850" UPTO_BIN_PRODUCT_VERSION="6.1.7600.16850" LINK_DATE="07/16/2011 04:33:09" UPTO_LINK_DATE="07/16/2011 04:33:09" EXPORT_NAME="KERNELBASE.dll" VER_LANGUAGE="English (United States) [0x409]" EXE_WRAPPER="0x0" FILE_ID="00008f87be9870b3ae8548dc278f6f09e0e5144dd038" PROGRAM_ID="0000f519feec486de87ed73cb92d3cac802400000000" />
</EXE>
<EXE NAME="kernel32.dll" FILTER="CMI_FILTER_THISFILEONLY">
    <MATCHING_FILE NAME="kernel32.dll" SIZE="1048576" CHECKSUM="0x2E98E39A" BIN_FILE_VERSION="6.1.7600.16850" BIN_PRODUCT_VERSION="6.1.7600.16850" PRODUCT_VERSION="6.1.7600.16385" FILE_DESCRIPTION="Windows NT BASE API Client DLL" COMPANY_NAME="Microsoft Corporation" PRODUCT_NAME="Microsoft® Windows® Operating System" FILE_VERSION="6.1.7600.16385 (win7_rtm.090713-1255)" ORIGINAL_FILENAME="kernel32" INTERNAL_NAME="kernel32" LEGAL_COPYRIGHT="© Microsoft Corporation. All rights reserved." VERDATEHI="0x0" VERDATELO="0x0" VERFILEOS="0x40004" VERFILETYPE="0x2" MODULE_TYPE="WIN32" PE_CHECKSUM="0x10F4A4" LINKER_VERSION="0x60001" UPTO_BIN_FILE_VERSION="6.1.7600.16850" UPTO_BIN_PRODUCT_VERSION="6.1.7600.16850" LINK_DATE="07/16/2011 04:33:08" UPTO_LINK_DATE="07/16/2011 04:33:08" EXPORT_NAME="KERNEL32.dll" VER_LANGUAGE="English (United States) [0x409]" EXE_WRAPPER="0x0" FILE_ID="00008bf5690fa7cfef05e71ecda3440904222adf216b" PROGRAM_ID="0000f519feec486de87ed73cb92d3cac802400000000" />
</EXE>
</DATABASE>

Решение задачи: «При запуске приложения на турецкой системе программа вываливается с ошибкой»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO.Ports;
using Microsoft.Win32;
using System.Threading;
 
namespace ЕвроКомплект_Счетчик_Стеклопакетов_Andruino_
{
    public partial class FrmMain : Form
    {
        public static string connstr = "Database=management_company;Data Source=192.168.1.1;Port=3306;User Id=notlive;Password=******;charset=cp1251";
        public static SerialPort mySerialPortK = new SerialPort();
 
        public int writeCount = 0;
        public int baseCount = 0;
        public int noConnectCount = 0;
        public bool summed = false;
 
        public string portArduino;
 
        public static RegistryKey rk;
        public static Thread readComPort;
        public static Thread connectCheck;
        public bool connStatus = false;
 
        public FrmMain()
        {
            InitializeComponent();
            pictureBox1.Visible = false;
            LoadPorts();
            GetSettingsPort();
 
            OpenPort();
            readComPort = new Thread(ReadData);
            readComPort.Start();
 
            connectCheck = new Thread(ChConn);
            connectCheck.Start();
        }
 
        string GetSettingsPort()
        {
            string port = "";
            rk = Registry.Users.CreateSubKey(System.Security.Principal.WindowsIdentity.GetCurrent().User.ToString() + "\\Software\\EuroKomplektCountGlassAndruino\\");
            try {
                port = rk.GetValue("Port").ToString();
            } catch {
                MessageBox.Show("Selected port from sensor and save settings!","No selected port sensor");
            }
 
            try
            {
                noConnectCount = Convert.ToInt32(rk.GetValue("noConnectCount").ToString());
            }
            catch
            {
                rk.SetValue("noConnectCount", "0");
            }
            return port;
        }
 
        void ChConn()
        {
            while (true)
            {
                try
                {
                    DataSet ds = new DataSet();
                    ds = SqlQuery.ExecuteReader(connstr, "SELECT `count` FROM PlantTimeGlass WHERE date = '" + Function.ConvertDateForBase(DateTime.Now.ToShortDateString(), false) + "' AND hover = '" + DateTime.Now.Hour.ToString() + "'");
                    if (ds.Tables[0].Rows.Count != 0)
                    {
                        baseCount = Convert.ToInt32(ds.Tables[0].Rows[0][0].ToString());
                    }
                    else
                    {
                        baseCount = 0;
                    }
                    connStatus = true;
                }
                catch
                {
                    connStatus = false;
                }
            }
        }
 
        int LoadPorts()
        {
            string[] ports = SerialPort.GetPortNames();
            cbPorts.Items.Clear();
            cbPorts.Items.AddRange(ports);
            if (cbPorts.Items.Count != 0) cbPorts.SelectedIndex = 0;
            if (GetSettingsPort() != "") cbPorts.SelectedItem = GetSettingsPort();
            if (cbPorts.Items.Count == 0)
            {
                MessageBox.Show("No com ports on system.", "No com ports");
                Application.Exit();
            }
            return cbPorts.Items.Count;
        }
 
        void OpenPort()
        {
            //Открытие порта станка
            try
            {
                mySerialPortK.PortName = cbPorts.SelectedItem.ToString();
                mySerialPortK.BaudRate = 9600;
                mySerialPortK.Parity = Parity.None;
                mySerialPortK.StopBits = StopBits.One;
                mySerialPortK.DataBits = 8;
                mySerialPortK.Handshake = Handshake.None;
                mySerialPortK.Open();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Error open port from sensor!");
            }
        }
 
        private void ReadData()
        {
            while (true)
            {
                string indata = mySerialPortK.ReadLine();
                indata = indata.Replace("\n", "");
                indata = indata.Replace("\r", "");
 
                if (indata == "1")
                {
                    this.Invoke(new Action(() =>
                    {
                        pictureBox1.Visible = true;
                    }));
 
                    if (summed == false)
                    {
                        summed = true;
                        if (connStatus)
                        {
                            writeCount = Convert.ToInt32(rk.GetValue("noConnectCount")) + baseCount + 1;
                            WriteDataToBase();
                            digitalDay.Text = writeCount.ToString();
                            noConnectCount = 0;
                            rk.SetValue("noConnectCount", "0");
                        }
                        else
                        {
                            noConnectCount++;
                            rk.SetValue("noConnectCount", noConnectCount.ToString());
                            digitalDay.Text = Convert.ToString(Convert.ToInt32(digitalDay.Text) + 1);
                        }
                        
                    }
                }
                else
                {
                    this.Invoke(new Action(() =>
                    {
                        pictureBox1.Visible = false;
                    }));
 
                    summed = false;
                }
            }
        }
 
        private void toolStripButton1_Click(object sender, EventArgs e)
        {
            rk.SetValue("Port", cbPorts.SelectedItem);
        }
 
        private void FrmMain_FormClosing(object sender, FormClosingEventArgs e)
        {
            readComPort.Abort();
            connectCheck.Abort();
            mySerialPortK.Close();
        }
 
        private void timer_Tick(object sender, EventArgs e)
        {
            digitalTime.Text = DateTime.Now.ToLongTimeString();
        }
 
        private void cbSoundDisable_CheckedChanged(object sender, EventArgs e)
        {
            if (cbSoundDisable.Checked)
            {
                mySerialPortK.Write("0");
            }
            else
            {
                mySerialPortK.Write("1");
            }
        }
 
        private void toolStripButton2_Click(object sender, EventArgs e)
        {
            mySerialPortK.Write("r");
            //Thread.Sleep(1500);
            cbSoundDisable_CheckedChanged(sender, e);
        }
 
        void WriteDataToBase()
        {
            try
            {
                DataSet ds = new DataSet();
                ds = SqlQuery.ExecuteReader(connstr, "SELECT `count` FROM PlantTimeGlass WHERE date = '" + Function.ConvertDateForBase(DateTime.Now.ToShortDateString(), false) + "' AND hover = '" + DateTime.Now.Hour.ToString() + "'");
                if (ds.Tables[0].Rows.Count != 0)
                {
                    SqlQuery.Execute(connstr, "UPDATE PlantTimeGlass SET count = '" + writeCount.ToString() + "' WHERE date = '" + Function.ConvertDateForBase(DateTime.Now.ToShortDateString(), false) + "' AND hover = '" + DateTime.Now.Hour.ToString() + "'");
                }
                else
                {
                    SqlQuery.Execute(connstr, "INSERT INTO PlantTimeGlass VALUE(null, '" + Function.ConvertDateForBase(DateTime.Now.ToShortDateString(), false) + "', '" + DateTime.Now.Hour.ToString() + "', '" + Convert.ToString(1 + noConnectCount) + "')");
                }
            }
            catch {
            }
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.077 из 5
Похожие ответы