powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / На вид все нормально, в итоге бред
9 сообщений из 9, страница 1 из 1
На вид все нормально, в итоге бред
    #32898257
Hup
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите, почему в приведоном коде возникает переполнение стека?
Очевидно, что это происходит при записи данных в textBox3.Text или textBox4.Text. Еще заметил, что textBox5_TextChanged зацикливается... Почему? Бред какой-то =( Создал массу подобных функций и все работают корректно.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
		private void textBox5_TextChanged(object sender, System.EventArgs e)
		{
			try
			{
				double itog;
				double _ye;
				double zach;
 
				if(textBox5.Text != "") itog = Convert.ToDouble(textBox5.Text);
				else itog = 0;
			
				this.initil();

				zach = (itog - (itog*this.pers/100.0));
				_ye = zach/this.ye; 

				textBox3.Text = zach.ToString();
				textBox4.Text = _ye.ToString();
			}
			catch(Exception ex)
			{
				MessageBox.Show(ex.ToString());
			}
		}

		private void initil()
		{
			this.ye = Convert.ToDouble(textBox1.Text);
			this.pers = Convert.ToDouble(textBox2.Text);
		}
--
Хочешь избежать критики – ничего не делай, ничего не говори и будь никем.
...
Рейтинг: 0 / 0
На вид все нормально, в итоге бред
    #32898390
Secret
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для поиска логических ошибок существует отладчик. Попробуйте в режиме отладки выполнить код построчно и выяснить, почему вызываются методы (что и приводит к переполнению стека).
...
Рейтинг: 0 / 0
На вид все нормально, в итоге бред
    #32898487
Hup
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Secret , отладчике я и заметил, что этот код выполняется многократно. Почему? В остальном все впорядке.
--
Хочешь избежать критики – ничего не делай, ничего не говори и будь никем.
...
Рейтинг: 0 / 0
На вид все нормально, в итоге бред
    #32898576
Bigheadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А для textBox3 и textBox4 обработчик OnTextChanged задан? Тогда естественно, что попадаем опять в textBox5_TextChanged на строке
Код: plaintext
textBox3.Text = zach.ToString();

Как раз под отладчиком в пошаговом режиме это хорошо можно увидеть.
...
Рейтинг: 0 / 0
На вид все нормально, в итоге бред
    #32898620
Фотография Roman S. Golubin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hup Secret , отладчике я и заметил, что этот код выполняется многократно. Почему? В остальном все впорядке.


А в событиях textBox3_TextChanged или textBox4_TextChanged содержимое textBox5 не меняется?


Hup
Хочешь избежать критики – ничего не делай, ничего не говори и будь никем.


Не согласен!!! - на никого обычно все шишки и валятся...
...
Рейтинг: 0 / 0
На вид все нормально, в итоге бред
    #32899117
Hup
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для textBox3 и textBox4 заданы обработчики и в них меняется содержимое textBox5/// Вы хотите сказать, что изменеие textBox5 в одном обработчике( например в textBox4_TextChanged) может автоматом вызвать textBox5_TextChanged и тем самым образуется dead cycle с последующим переполнением стека? А почему тогда textBox3 и textBox4 не конфликтуют? Они тоже изменяют друг друга. И как тогда такое лечить?

--
Хочешь избежать критики – ничего не делай, ничего не говори и будь никем.
...
Рейтинг: 0 / 0
На вид все нормально, в итоге бред
    #32899295
Secret
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HupИ как тогда такое лечить?

Код: plaintext
1.
2.
3.
textBox5.TextChanged -= new System.EventHandler(this.textBox5_TextChanged);
textBox5.Text=...;
textBox5.TextChanged += new System.EventHandler(this.textBox5_TextChanged);
...
Рейтинг: 0 / 0
На вид все нормально, в итоге бред
    #32900408
Hup
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Secret , весьма интересный способ. Вечерком проверю =)))
--
Хочешь избежать критики – ничего не делай, ничего не говори и будь никем.
...
Рейтинг: 0 / 0
На вид все нормально, в итоге бред
    #32903307
Hup
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо... Все заработало =)
--
Хочешь избежать критики – ничего не делай, ничего не говори и будь никем.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / На вид все нормально, в итоге бред
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]