|
С# Средство разработки на платформе .Net |
29.08.2010, 17:02
|
#1
|
Дэвелопер
Регистрация: 13.02.2010
Сообщений: 1,645
Написано 620 полезных сообщений (для 2,419 пользователей)
|
Ошибка
Почему когда я запускаю приложение из компилятора (F5), после нажатия кнопки "подключение" в приложении (это интерент чат), выдаёт ошибку
а когда просто запускаю откомелированное приложение из папки всё нормально?
Если поудалять все строчьки на которые оно ругается, то работает, но хотелось бы не удолять.
Смена Дебуг и Релэйс версии не помогает.
Раньше (на старой винде) всё работало, а сейчас нет.
ЗЫ-приложение не моё, вот выкладываю chat.rar
|
(Offline)
|
|
29.08.2010, 19:26
|
#2
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Ошибка
Ну ясно же написано - проблема с потоками. Я вообще с потоками не работал особо.
Мне кажется стоит использовать для проблемных переменных, которые используются в разных потоках либо синхронизацию либо лочить их на время изменения с помощью lock
Возможно будет полезным почитать данную статью о синхронизации потоков
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
29.08.2010, 22:08
|
#3
|
быдло
Регистрация: 05.08.2007
Сообщений: 1,435
Написано 614 полезных сообщений (для 1,489 пользователей)
|
Ответ: Ошибка
Den, хватит при каждой ошибке создавать тему и просить о помощи. В чём смысл? чему ты так научишься?
По теме. если методы идут в форме/контроле юзай InvokeRequired и Invoke
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо Dream за это полезное сообщение:
|
den (29.08.2010), pax (29.08.2010)
|
29.08.2010, 23:39
|
#4
|
Дэвелопер
Регистрация: 13.02.2010
Сообщений: 1,645
Написано 620 полезных сообщений (для 2,419 пользователей)
|
Ответ: Ошибка
Блин код странный какойто: поставил в месте ошибки try{ошибка} catch{} запустил - всё равно ошибка. Перезапустил вижуал студио - всё норм
это наверно глюк а не ошибка
upd-пля!!!!
что за код попался такой, каждый раз новая ошибка!!!
|
(Offline)
|
|
30.08.2010, 01:18
|
#5
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Ошибка
Ошибки в синхронизации потоков блоками try - catch не отловить. Так что изучай синхронизацию, раз такой код
Учись на чужих ошибках, а сам их не делай
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
30.08.2010, 13:48
|
#6
|
Дэвелопер
Регистрация: 13.02.2010
Сообщений: 1,645
Написано 620 полезных сообщений (для 2,419 пользователей)
|
Ответ: Ошибка
Появилась ещё одна интересная особенность: если запускать не F5 а Ctrl+F5 всё работает!
Лано, буду через Ctrl+F5 запускать, всёравно в компелированном (.ехе) виде работает
|
(Offline)
|
|
30.08.2010, 16:47
|
#7
|
быдло
Регистрация: 05.08.2007
Сообщений: 1,435
Написано 614 полезных сообщений (для 1,489 пользователей)
|
Ответ: Ошибка
а сам код работает? что он там должен выполнять? то что ты не видишь сообщений об ошибках не значит что их нету.
|
(Offline)
|
|
30.08.2010, 17:18
|
#8
|
Дэвелопер
Регистрация: 13.02.2010
Сообщений: 1,645
Написано 620 полезных сообщений (для 2,419 пользователей)
|
Ответ: Ошибка
а сам код работает? что он там должен выполнять? то что ты не видишь сообщений об ошибках не значит что их нету.
|
да вроде работает
а вобще это чат через сокеты (многопользовательский, серверный)
|
(Offline)
|
|
07.04.2011, 01:34
|
#9
|
ПроЭктировщик
Регистрация: 20.06.2009
Адрес: Україна
Сообщений: 152
Написано 10 полезных сообщений (для 24 пользователей)
|
Ответ: Ошибка
Вечер Добрый!
Я решыл не создавать другую тему а написать в етой.
Так вот:
Я хочу передать значение с TextBox(a) в переменную соседнего с формой класса.
То есть с (FileOptions : Form).textBox1.Text -> (VolumeRender : MyClass).fWidth
Я сделал:
//Обявил нужный класс в файле FileOptions.Designer.cs
private VolumeRender volumeRender;
//Акция в файле FileOptions.cs
private void button1_Click(object sender, EventArgs e)
{
if (
textBox1.Text == "" |
textBox2.Text == "" |
textBox3.Text == ""
)
{
MessageBox.Show("Введіть будь ласка дані про розмір текстури", "Є незаповнені поля!");
}
else
{
volumeRender.fWidth = Convert.ToInt32(textBox1.Text);
volumeRender.fHeight = Convert.ToInt32(textBox2.Text);
volumeRender.fDepth = Convert.ToInt32(textBox3.Text);
volumeRender.filename = mainForm.openFileDialog.FileName;
}
}
И когда я заполняю форму и жму "ОК" - Вилетает:
Посоветуйте мне что сделать. Пожалуйста!
__________________
Blitz3D, XNA, WebGL, OpenGL, Unity3D
PC: ASUS A55VM Core i3 (2.4Ghz), 6 Gb RAM, Nvidia GF 630M GT 2Gb
|
(Offline)
|
|
07.04.2011, 01:44
|
#10
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Ошибка
Пробуй этим: http://msdn.microsoft.com/ru-ru/library/f02979c7.aspx
кстати ты уверен, что переменная volumeRender не null? наведи на нее мышку при ошибке и псмотри
иначе private VolumeRender volumeRender = new VolumeRender();
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
07.04.2011, 01:51
|
#11
|
быдло
Регистрация: 05.08.2007
Сообщений: 1,435
Написано 614 полезных сообщений (для 1,489 пользователей)
|
Ответ: Ошибка
да, в InitializeComponents() добавь код создания твоей переменной
|
(Offline)
|
|
07.04.2011, 01:57
|
#12
|
ПроЭктировщик
Регистрация: 20.06.2009
Адрес: Україна
Сообщений: 152
Написано 10 полезных сообщений (для 24 пользователей)
|
Ответ: Ошибка
Да! ты был прав:
Я просто забил о том что надо написать еще такое:
private void InitializeComponent()
{
this.volumeRender = new VolumeRender();
...
}
Спасибо!
__________________
Blitz3D, XNA, WebGL, OpenGL, Unity3D
PC: ASUS A55VM Core i3 (2.4Ghz), 6 Gb RAM, Nvidia GF 630M GT 2Gb
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 20:51.
|