Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > С#

С# Средство разработки на платформе .Net

Ответ
 
Опции темы
Старый 29.08.2010, 17:02   #1
den
Дэвелопер
 
Аватар для den
 
Регистрация: 13.02.2010
Сообщений: 1,645
Написано 620 полезных сообщений
(для 2,419 пользователей)
Вопрос Ошибка

Почему когда я запускаю приложение из компилятора (F5), после нажатия кнопки "подключение" в приложении (это интерент чат), выдаёт ошибку
Нажмите на изображение для увеличения
Название: Безымянный.JPG
Просмотров: 1038
Размер:	156.1 Кб
ID:	11089
а когда просто запускаю откомелированное приложение из папки всё нормально?
Если поудалять все строчьки на которые оно ругается, то работает, но хотелось бы не удолять.
Смена Дебуг и Релэйс версии не помогает.
Раньше (на старой винде) всё работало, а сейчас нет.
ЗЫ-приложение не моё, вот выкладываю chat.rar
(Offline)
 
Ответить с цитированием
Старый 29.08.2010, 19:26   #2
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Ошибка

Ну ясно же написано - проблема с потоками. Я вообще с потоками не работал особо.

Мне кажется стоит использовать для проблемных переменных, которые используются в разных потоках либо синхронизацию либо лочить их на время изменения с помощью lock

Возможно будет полезным почитать данную статью о синхронизации потоков
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
den (29.08.2010)
Старый 29.08.2010, 22:08   #3
Dream
быдло
 
Регистрация: 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
den
Дэвелопер
 
Аватар для den
 
Регистрация: 13.02.2010
Сообщений: 1,645
Написано 620 полезных сообщений
(для 2,419 пользователей)
Счастье Ответ: Ошибка

Блин код странный какойто: поставил в месте ошибки try{ошибка} catch{} запустил - всё равно ошибка. Перезапустил вижуал студио - всё норм
это наверно глюк а не ошибка
upd-пля!!!!
что за код попался такой, каждый раз новая ошибка!!!
(Offline)
 
Ответить с цитированием
Старый 30.08.2010, 01:18   #5
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Ошибка

Ошибки в синхронизации потоков блоками try - catch не отловить. Так что изучай синхронизацию, раз такой код

Учись на чужих ошибках, а сам их не делай
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
den (30.08.2010)
Старый 30.08.2010, 13:48   #6
den
Дэвелопер
 
Аватар для den
 
Регистрация: 13.02.2010
Сообщений: 1,645
Написано 620 полезных сообщений
(для 2,419 пользователей)
Ответ: Ошибка

Появилась ещё одна интересная особенность: если запускать не F5 а Ctrl+F5 всё работает!
Лано, буду через Ctrl+F5 запускать, всёравно в компелированном (.ехе) виде работает
(Offline)
 
Ответить с цитированием
Старый 30.08.2010, 16:47   #7
Dream
быдло
 
Регистрация: 05.08.2007
Сообщений: 1,435
Написано 614 полезных сообщений
(для 1,489 пользователей)
Ответ: Ошибка

а сам код работает? что он там должен выполнять? то что ты не видишь сообщений об ошибках не значит что их нету.
(Offline)
 
Ответить с цитированием
Старый 30.08.2010, 17:18   #8
den
Дэвелопер
 
Аватар для den
 
Регистрация: 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;
            }
        }
И когда я заполняю форму и жму "ОК" - Вилетает:
Нажмите на изображение для увеличения
Название: Image1.jpg
Просмотров: 1086
Размер:	220.7 Кб
ID:	13254
Посоветуйте мне что сделать. Пожалуйста!
__________________
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
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 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)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Dream (13.04.2011)
Старый 07.04.2011, 01:51   #11
Dream
быдло
 
Регистрация: 05.08.2007
Сообщений: 1,435
Написано 614 полезных сообщений
(для 1,489 пользователей)
Ответ: Ошибка

да, в InitializeComponents() добавь код создания твоей переменной
(Offline)
 
Ответить с цитированием
Старый 07.04.2011, 01:57   #12
ІГРОГРАЙКО
ПроЭктировщик
 
Аватар для ІГРОГРАЙКО
 
Регистрация: 20.06.2009
Адрес: Україна
Сообщений: 152
Написано 10 полезных сообщений
(для 24 пользователей)
Ответ: Ошибка

Да! ты был прав:
Нажмите на изображение для увеличения
Название: Image1.jpg
Просмотров: 889
Размер:	230.6 Кб
ID:	13255
Я просто забил о том что надо написать еще такое:
        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)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 12:52.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com