Гость
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Область видимости переменных (Как такое возможно?) / 14 сообщений из 14, страница 1 из 1
20.08.2015, 13:50
    #39033142
RegisteredUser
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Область видимости переменных (Как такое возможно?)
в общем поймали глюк там откуда не ждали.
запустили отладку - локализовали глюк.
слегка не поняли как такое возможно (см. скриншот)

кусок кода ниже:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
                                float _all_colls_width = 0;
                                if (IsAdditionalCol)
                                {// adjust by Width last columns 
                                    for (int i=1; i<_cols_count; i++)
                                        {
                                            _all_colls_width =+ objTbl.Rows[_rows_count].Cells[i].Width;
                                        }//for
                                    colWidth = pdfPgPrintWitdh - _all_colls_width;
                                    objTbl.Rows[_rows_count].Cells[_cols_count].Width = colWidth;
                                    IsAdditionalCol = false;
                                }



ОСОБО ПОРАДОВАЛИ переменные:
i
и
_all_colls_width
...
Рейтинг: 0 / 0
20.08.2015, 15:08
    #39033232
bazile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Область видимости переменных (Как такое возможно?)
RegisteredUser, конфигурация Release? Возможно компилятор C# или JIT компилятор оптимизировали код заменив цикл на одну строку:
Код: c#
1.
_all_colls_width =+ objTbl.Rows[_rows_count].Cells[_cols_count-1].Width;


Далее можно избавиться от переменной _all_colls_width подставив в строку после цикла. Поэтому эти переменные и не видны. Или это просто глюк отладчика.
...
Рейтинг: 0 / 0
20.08.2015, 16:31
    #39033348
ЕвгенийВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Область видимости переменных (Как такое возможно?)
Где глюк то?
...
Рейтинг: 0 / 0
20.08.2015, 16:59
    #39033386
bazile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Область видимости переменных (Как такое возможно?)
ЕвгенийВ, отладчик стоит на строке где меняется переменная _all_colls_width. Тем не менее в окне Watch написано что данная переменная не существует.
...
Рейтинг: 0 / 0
20.08.2015, 19:13
    #39033490
Arm79
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Область видимости переменных (Как такое возможно?)
закрыть проект, удалить папку obj и повторно открыть проект и скомпилить...
...
Рейтинг: 0 / 0
21.08.2015, 01:45
    #39033585
Relic Hunter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Область видимости переменных (Как такое возможно?)
Arm79закрыть проект, удалить папку obj и повторно открыть проект и скомпилить...А ребилд проекта/солюшена не проще сделать?
...
Рейтинг: 0 / 0
21.08.2015, 11:25
    #39033782
RegisteredUser
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Область видимости переменных (Как такое возможно?)
в общем сделал как вы писали:
- закрыл/удалил/забилдил

Резалта позитивного НЕТ!
Все так же.

Но вот что интересно (см. скриншот ниже)
...
Рейтинг: 0 / 0
21.08.2015, 11:40
    #39033798
ЕвгенийВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Область видимости переменных (Как такое возможно?)
RegisteredUser,
Судя по lb_RowByRow начинал вообще с васика? :)
...
Рейтинг: 0 / 0
21.08.2015, 11:47
    #39033805
RegisteredUser
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Область видимости переменных (Как такое возможно?)
ЕвгенийВ,

нам бы разобрать че так модерновый VS тупидЪ....
а там ужо и до goto дойдет очередь... наверно...
...
Рейтинг: 0 / 0
21.08.2015, 11:52
    #39033812
RegisteredUser
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Область видимости переменных (Как такое возможно?)
В общем тенденция такова:
- если локальные переменные объявлять "высоко-высоко в горах" усё работает и показывает правильно.
- если локальные переменные объявлять там где они нужны, то НЕ все из них видны в дебаге.

это че такое?

запускаем эту беду на вот этом
...
Рейтинг: 0 / 0
21.08.2015, 11:59
    #39033821
super-code
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Область видимости переменных (Как такое возможно?)
RegisteredUser, уже задали правильный вопрос. Запускаете Debug понятно.
Скомпилирована в релиз (Конфигурация), оптимизация включена при компиляции?
...
Рейтинг: 0 / 0
21.08.2015, 12:13
    #39033832
RegisteredUser
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Область видимости переменных (Как такое возможно?)
super-code,

О! Чудо! СПАСИБО!

оказалось, что ЕСЛИ просто запускать в Release а НЕ в Debug ,
то странным образом локальные переменные обретают видимость при отладке когда.

П.С.
Если честно, то впервые такое наблюдаю в Студии.
НИКОГДА не сталкивался с таким эфффэктом.
Как говорят у нас на Украине "пакращення"
...
Рейтинг: 0 / 0
21.08.2015, 13:19
    #39033917
Arm79
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Область видимости переменных (Как такое возможно?)
Relic HunterArm79закрыть проект, удалить папку obj и повторно открыть проект и скомпилить...А ребилд проекта/солюшена не проще сделать?
Нет, не всегда помогает.
...
Рейтинг: 0 / 0
21.08.2015, 13:28
    #39033934
ЕвгенийВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Область видимости переменных (Как такое возможно?)
RegisteredUsersuper-code,

О! Чудо! СПАСИБО!

оказалось, что ЕСЛИ просто запускать в Release а НЕ в Debug ,
то странным образом локальные переменные обретают видимость при отладке когда.
Кто то своими шаловливыми ручками лазил куда не следует.
RegisteredUser П.С.
Если честно, то впервые такое наблюдаю в Студии.
НИКОГДА не сталкивался с таким эфффэктом.
Как говорят у нас на Украине "пакращення"

Кляты москали!
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Область видимости переменных (Как такое возможно?) / 14 сообщений из 14, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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