Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 1
Регистрация: 16.06.2011
Сообщений: 32
1
.NET 4.x

Не изменяется переменная, переданная по ссылке

26.10.2012, 15:22. Показов 941. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
для доступа к форме из другого потока используется метод с ref параметром

C#
1
2
3
4
5
6
7
8
9
10
11
public void MsgOut(string text, ref int y)
        {
            MsgOut_delegate MsgOut_del = new MsgOut_delegate(MsgOut);
            
            if (richTextBox1.InvokeRequired) this.Invoke(MsgOut_del, new object[] { text, y });
            else
            {
                richTextBox1.AppendText(text + "\n");
                y++;
            }
        }
проблема в том, что переменная "y" после выхода из цикла не меняется, хотя внутри метода операция "y++" выполняется...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.10.2012, 15:22
Ответы с готовыми решениями:

Переданная в запросе переменная не выводится в готовый HTML-код
Собсно вот два файла. Значение имени не возвращается. Пример из учебника, никаких пояснений по...

Не изменяется переменная
Здравствуйте! Не меняется переменная в методе paint(). Если буду выводить значения n в методе...

Переменная не изменяется
Доброго времени суток ! Нужна ваша помощь. Вроде бы вопрос легкий, но не могу понять как...

Не изменяется static переменная
...довольно странная проблема. в 2-х файлах инклудится один заголовочный файл, в нем объявлена...

4
713 / 680 / 126
Регистрация: 30.03.2012
Сообщений: 1,124
26.10.2012, 15:28 2
1) из другого потока
2) -> InvokeRequired
3) -> this.Invoke(MsgOut_del, new object[] { text, y })
4) -> и где вы ее должны были увеличить? else то не выполняется
0
0 / 0 / 1
Регистрация: 16.06.2011
Сообщений: 32
26.10.2012, 15:39  [ТС] 3
да, вопрос в том как выполнить "y++" если вызов идет из потока?
0
713 / 680 / 126
Регистрация: 30.03.2012
Сообщений: 1,124
26.10.2012, 15:43 4
C#
1
this.Invoke(MsgOut_del, new object[] { text, y++ })
не?
или в любом другом месте между if и else
1
0 / 0 / 1
Регистрация: 16.06.2011
Сообщений: 32
26.10.2012, 15:55  [ТС] 5
=) все вопрос закрыт..
спасибо!
0
26.10.2012, 15:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.10.2012, 15:55
Помогаю со студенческими работами здесь

Изменяется объект при передаче по ссылке
В общем сразу к делу, проблема заключается вот в чем: Polish p = new Polish(); List<string>...

Не изменяется глобальная переменная в методе
В методе "loadpt2" заполняю массив потоков. Он по моему глобальный, тогда почему при выходе с...

Не изменяется переменная в transform.rotation
Здравствуйте, такая штука, хочу реализовать поворот камеры на 90 градусов при нажатии кнопки...

Переменная которая изменяется с любого объекта
У меня есть скрипт который весить на 2 объектах, припустим A и B, в нем переменная типа bool. Как...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru