Ошибка при работе программы
Unhandled exception has occurred in your application.
Details
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.
************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
at Mari.MagazineSale.txbx_1elcImTunMari_TextChanged(Object sender, EventArgs e) in E:\Mari\MARI\MARI\MagazineSale.cs:line 2081
at System.Windows.Forms.Control.OnTextChanged(EventArgs e)
at System.Windows.Forms.TextBoxBase.OnTextChanged(EventArgs e)
at System.Windows.Forms.Control.set_Text(String value)
at System.Windows.Forms.TextBoxBase.set_Text(String value)
at System.Windows.Forms.TextBox.set_Text(String value)
at Mari.MagazineSale.button1_Click(Object sender, EventArgs e) in E:\Mari\MARI\MARI\MagazineSale.cs:line 3349
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** Loaded Assemblies **************
mscorlib
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 (RTMRel.030319-0100)
CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
Mari
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Users/Mari/Desktop/Marie_Inst/Marie_Inst/Mari.exe
----------------------------------------
System.Windows.Forms
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 built by: RTMRel
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 built by: RTMRel
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 built by: RTMRel
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Configuration
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 (RTMRel.030319-0100)
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 built by: RTMRel
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Data
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 (RTMRel.030319-0100)
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_32/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
System.Core
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 built by: RTMRel
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Transactions
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 (RTMRel.030319-0100)
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_32/System.Transactions/v4.0_4.0.0.0__b77a5c561934e089/System.Transactions.dll
----------------------------------------
System.EnterpriseServices
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 (RTMRel.030319-0100)
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_32/System.EnterpriseServices/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.EnterpriseServices.dll
----------------------------------------
************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.
For example:
<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>
When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
Это происходит в машине где стоит Windows 7 Ultimate, а на другом машине где стоит Windows XP программа нормально работает.
Что поделать, как исправит эту ошибку?????.
Добавьте проверку на null для всего, что может быть .
Почему падает в 7 а в хр работает - возможно, 7 нуждается в каких-то дополнительных действиях (креденшиалс получить или еще что) - чтобы добраться до ресурса, который в хр доступен.
Это зависит от того, что вы там "дергаете".
Кстати - настройте вашу программу на 7 в режим "Run as administrator" (точно не помню как - ярлык можно сделать). Это тоже может помочь.
{
int value_1GorcNImT, elc_1ImTMari, hash_1ImTMari;
if (int.TryParse(lbx_1valueGNImTun.SelectedValue.ToString(), out value_1GorcNImT) && //вот это line 2081, здесь есть проблема?
int.TryParse(txbx_1elcImTunMari.Text.Trim(), out elc_1ImTMari))
{
hash_1ImTMari = value_1GorcNImT * elc_1ImTMari;
txbx_1ImTMariHash.Text = Convert.ToString(hash_1ImTMari, new CultureInfo("En", true));
}
}
lbx_1valueGNImTun.SelectedValue - запросто может быть null, а вы его функцию ToString() вызываете.....
добавьте
if (lbx_1valueGNImTun.SelectedValue == null) return;
хотябы.
:-)
Почему "раньше работало" - ну раньше евент TextChanged вызывался системой после выбора значения, а сейчас - перед.
обработчик эвента должен быть построен так, чтобы не зависеть от момента его вызова.
Кстати - возможно, что у вас после изменения падать не будет, но и работать тоже не будет - в этом случае ищите другой эвент.
Цитата: D129
Ну конечно!
lbx_1valueGNImTun.SelectedValue - запросто может быть null, а вы его функцию ToString() вызываете.....
добавьте
if (lbx_1valueGNImTun.SelectedValue == null) return;
хотябы.
:-)
Почему "раньше работало" - ну раньше евент TextChanged вызывался системой после выбора значения, а сейчас - перед.
обработчик эвента должен быть построен так, чтобы не зависеть от момента его вызова.
Кстати - возможно, что у вас после изменения падать не будет, но и работать тоже не будет - в этом случае ищите другой эвент.
lbx_1valueGNImTun.SelectedValue - запросто может быть null, а вы его функцию ToString() вызываете.....
добавьте
if (lbx_1valueGNImTun.SelectedValue == null) return;
хотябы.
:-)
Почему "раньше работало" - ну раньше евент TextChanged вызывался системой после выбора значения, а сейчас - перед.
обработчик эвента должен быть построен так, чтобы не зависеть от момента его вызова.
Кстати - возможно, что у вас после изменения падать не будет, но и работать тоже не будет - в этом случае ищите другой эвент.
Спасибо все получилось.
Здравствуйте.Пожалуйста обьясните мне это как новичку.
Цитата: D129
Ну конечно!
lbx_1valueGNImTun.SelectedValue - запросто может быть null, а вы его функцию ToString() вызываете.....
добавьте
if (lbx_1valueGNImTun.SelectedValue == null) return;
хотябы.
:-)
Почему "раньше работало" - ну раньше евент TextChanged вызывался системой после выбора значения, а сейчас - перед.
обработчик эвента должен быть построен так, чтобы не зависеть от момента его вызова.
Кстати - возможно, что у вас после изменения падать не будет, но и работать тоже не будет - в этом случае ищите другой эвент.
lbx_1valueGNImTun.SelectedValue - запросто может быть null, а вы его функцию ToString() вызываете.....
добавьте
if (lbx_1valueGNImTun.SelectedValue == null) return;
хотябы.
:-)
Почему "раньше работало" - ну раньше евент TextChanged вызывался системой после выбора значения, а сейчас - перед.
обработчик эвента должен быть построен так, чтобы не зависеть от момента его вызова.
Кстати - возможно, что у вас после изменения падать не будет, но и работать тоже не будет - в этом случае ищите другой эвент.
Здравствуйте.Пожалуйста обьясните мне это как новичку.
Цитата: Dron1298
Цитата: D129
Ну конечно!
lbx_1valueGNImTun.SelectedValue - запросто может быть null, а вы его функцию ToString() вызываете.....
добавьте
if (lbx_1valueGNImTun.SelectedValue == null) return;
хотябы.
:-)
Почему "раньше работало" - ну раньше евент TextChanged вызывался системой после выбора значения, а сейчас - перед.
обработчик эвента должен быть построен так, чтобы не зависеть от момента его вызова.
Кстати - возможно, что у вас после изменения падать не будет, но и работать тоже не будет - в этом случае ищите другой эвент.
lbx_1valueGNImTun.SelectedValue - запросто может быть null, а вы его функцию ToString() вызываете.....
добавьте
if (lbx_1valueGNImTun.SelectedValue == null) return;
хотябы.
:-)
Почему "раньше работало" - ну раньше евент TextChanged вызывался системой после выбора значения, а сейчас - перед.
обработчик эвента должен быть построен так, чтобы не зависеть от момента его вызова.
Кстати - возможно, что у вас после изменения падать не будет, но и работать тоже не будет - в этом случае ищите другой эвент.
Здравствуйте.Пожалуйста обьясните мне это как новичку.
Здравствуйте. Я так объясню, когда пустая значения, его не можно конвертировать на String и потому вылетает ошибку. Для этого нужно проверить
if (lbx_1valueGNImTun.SelectedValue == null) до делаем что то, а наоборот продолжает работать наша программа.