При запуске приложения на турецкой системе программа вываливается с ошибкой - 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 {
- }
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д