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

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

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

В чем может быть проблема? При запуске приложения на турецкой системе программа вываливается с ошибкой... Может быть дело в локали системы?
Листинг программы
  1. <?xml version="1.0" encoding="UTF-16"?>
  2. <DATABASE>
  3. <EXE NAME="ЕвроКомплект Счетчик Стеклопакетов(Andruino).exe" FILTER="CMI_FILTER_PRIVACY">
  4. <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" />
  5. <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" />
  6. <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" />
  7. <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" />
  8. </EXE>
  9. <EXE NAME="KERNELBASE.dll" FILTER="CMI_FILTER_THISFILEONLY">
  10. <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" />
  11. </EXE>
  12. <EXE NAME="kernel32.dll" FILTER="CMI_FILTER_THISFILEONLY">
  13. <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" />
  14. </EXE>
  15. </DATABASE>

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

textual
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. using System.IO.Ports;
  10. using Microsoft.Win32;
  11. using System.Threading;
  12.  
  13. namespace ЕвроКомплект_Счетчик_Стеклопакетов_Andruino_
  14. {
  15.     public partial class FrmMain : Form
  16.     {
  17.         public static string connstr = "Database=management_company;Data Source=192.168.1.1;Port=3306;User Id=notlive;Password=******;charset=cp1251";
  18.         public static SerialPort mySerialPortK = new SerialPort();
  19.  
  20.         public int writeCount = 0;
  21.         public int baseCount = 0;
  22.         public int noConnectCount = 0;
  23.         public bool summed = false;
  24.  
  25.         public string portArduino;
  26.  
  27.         public static RegistryKey rk;
  28.         public static Thread readComPort;
  29.         public static Thread connectCheck;
  30.         public bool connStatus = false;
  31.  
  32.         public FrmMain()
  33.         {
  34.             InitializeComponent();
  35.             pictureBox1.Visible = false;
  36.             LoadPorts();
  37.             GetSettingsPort();
  38.  
  39.             OpenPort();
  40.             readComPort = new Thread(ReadData);
  41.             readComPort.Start();
  42.  
  43.             connectCheck = new Thread(ChConn);
  44.             connectCheck.Start();
  45.         }
  46.  
  47.         string GetSettingsPort()
  48.         {
  49.             string port = "";
  50.             rk = Registry.Users.CreateSubKey(System.Security.Principal.WindowsIdentity.GetCurrent().User.ToString() + "\\Software\\EuroKomplektCountGlassAndruino\\");
  51.             try {
  52.                 port = rk.GetValue("Port").ToString();
  53.             } catch {
  54.                 MessageBox.Show("Selected port from sensor and save settings!","No selected port sensor");
  55.             }
  56.  
  57.             try
  58.             {
  59.                 noConnectCount = Convert.ToInt32(rk.GetValue("noConnectCount").ToString());
  60.             }
  61.             catch
  62.             {
  63.                 rk.SetValue("noConnectCount", "0");
  64.             }
  65.             return port;
  66.         }
  67.  
  68.         void ChConn()
  69.         {
  70.             while (true)
  71.             {
  72.                 try
  73.                 {
  74.                     DataSet ds = new DataSet();
  75.                     ds = SqlQuery.ExecuteReader(connstr, "SELECT `count` FROM PlantTimeGlass WHERE date = '" + Function.ConvertDateForBase(DateTime.Now.ToShortDateString(), false) + "' AND hover = '" + DateTime.Now.Hour.ToString() + "'");
  76.                     if (ds.Tables[0].Rows.Count != 0)
  77.                     {
  78.                         baseCount = Convert.ToInt32(ds.Tables[0].Rows[0][0].ToString());
  79.                     }
  80.                     else
  81.                     {
  82.                         baseCount = 0;
  83.                     }
  84.                     connStatus = true;
  85.                 }
  86.                 catch
  87.                 {
  88.                     connStatus = false;
  89.                 }
  90.             }
  91.         }
  92.  
  93.         int LoadPorts()
  94.         {
  95.             string[] ports = SerialPort.GetPortNames();
  96.             cbPorts.Items.Clear();
  97.             cbPorts.Items.AddRange(ports);
  98.             if (cbPorts.Items.Count != 0) cbPorts.SelectedIndex = 0;
  99.             if (GetSettingsPort() != "") cbPorts.SelectedItem = GetSettingsPort();
  100.             if (cbPorts.Items.Count == 0)
  101.             {
  102.                 MessageBox.Show("No com ports on system.", "No com ports");
  103.                 Application.Exit();
  104.             }
  105.             return cbPorts.Items.Count;
  106.         }
  107.  
  108.         void OpenPort()
  109.         {
  110.             //Открытие порта станка
  111.             try
  112.             {
  113.                 mySerialPortK.PortName = cbPorts.SelectedItem.ToString();
  114.                 mySerialPortK.BaudRate = 9600;
  115.                 mySerialPortK.Parity = Parity.None;
  116.                 mySerialPortK.StopBits = StopBits.One;
  117.                 mySerialPortK.DataBits = 8;
  118.                 mySerialPortK.Handshake = Handshake.None;
  119.                 mySerialPortK.Open();
  120.             }
  121.             catch (Exception ex)
  122.             {
  123.                 MessageBox.Show(ex.ToString(), "Error open port from sensor!");
  124.             }
  125.         }
  126.  
  127.         private void ReadData()
  128.         {
  129.             while (true)
  130.             {
  131.                 string indata = mySerialPortK.ReadLine();
  132.                 indata = indata.Replace("\n", "");
  133.                 indata = indata.Replace("\r", "");
  134.  
  135.                 if (indata == "1")
  136.                 {
  137.                     this.Invoke(new Action(() =>
  138.                     {
  139.                         pictureBox1.Visible = true;
  140.                     }));
  141.  
  142.                     if (summed == false)
  143.                     {
  144.                         summed = true;
  145.                         if (connStatus)
  146.                         {
  147.                             writeCount = Convert.ToInt32(rk.GetValue("noConnectCount")) + baseCount + 1;
  148.                             WriteDataToBase();
  149.                             digitalDay.Text = writeCount.ToString();
  150.                             noConnectCount = 0;
  151.                             rk.SetValue("noConnectCount", "0");
  152.                         }
  153.                         else
  154.                         {
  155.                             noConnectCount++;
  156.                             rk.SetValue("noConnectCount", noConnectCount.ToString());
  157.                             digitalDay.Text = Convert.ToString(Convert.ToInt32(digitalDay.Text) + 1);
  158.                         }
  159.                        
  160.                     }
  161.                 }
  162.                 else
  163.                 {
  164.                     this.Invoke(new Action(() =>
  165.                     {
  166.                         pictureBox1.Visible = false;
  167.                     }));
  168.  
  169.                     summed = false;
  170.                 }
  171.             }
  172.         }
  173.  
  174.         private void toolStripButton1_Click(object sender, EventArgs e)
  175.         {
  176.             rk.SetValue("Port", cbPorts.SelectedItem);
  177.         }
  178.  
  179.         private void FrmMain_FormClosing(object sender, FormClosingEventArgs e)
  180.         {
  181.             readComPort.Abort();
  182.             connectCheck.Abort();
  183.             mySerialPortK.Close();
  184.         }
  185.  
  186.         private void timer_Tick(object sender, EventArgs e)
  187.         {
  188.             digitalTime.Text = DateTime.Now.ToLongTimeString();
  189.         }
  190.  
  191.         private void cbSoundDisable_CheckedChanged(object sender, EventArgs e)
  192.         {
  193.             if (cbSoundDisable.Checked)
  194.             {
  195.                 mySerialPortK.Write("0");
  196.             }
  197.             else
  198.             {
  199.                 mySerialPortK.Write("1");
  200.             }
  201.         }
  202.  
  203.         private void toolStripButton2_Click(object sender, EventArgs e)
  204.         {
  205.             mySerialPortK.Write("r");
  206.             //Thread.Sleep(1500);
  207.             cbSoundDisable_CheckedChanged(sender, e);
  208.         }
  209.  
  210.         void WriteDataToBase()
  211.         {
  212.             try
  213.             {
  214.                 DataSet ds = new DataSet();
  215.                 ds = SqlQuery.ExecuteReader(connstr, "SELECT `count` FROM PlantTimeGlass WHERE date = '" + Function.ConvertDateForBase(DateTime.Now.ToShortDateString(), false) + "' AND hover = '" + DateTime.Now.Hour.ToString() + "'");
  216.                 if (ds.Tables[0].Rows.Count != 0)
  217.                 {
  218.                     SqlQuery.Execute(connstr, "UPDATE PlantTimeGlass SET count = '" + writeCount.ToString() + "' WHERE date = '" + Function.ConvertDateForBase(DateTime.Now.ToShortDateString(), false) + "' AND hover = '" + DateTime.Now.Hour.ToString() + "'");
  219.                 }
  220.                 else
  221.                 {
  222.                     SqlQuery.Execute(connstr, "INSERT INTO PlantTimeGlass VALUE(null, '" + Function.ConvertDateForBase(DateTime.Now.ToShortDateString(), false) + "', '" + DateTime.Now.Hour.ToString() + "', '" + Convert.ToString(1 + noConnectCount) + "')");
  223.                 }
  224.             }
  225.             catch {
  226.             }
  227.         }
  228.     }
  229. }

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


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

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

13   голосов , оценка 4.077 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы