|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
21.09.2018, 15:02 | #1 |
Форумчанин
Регистрация: 11.06.2010
Сообщений: 525
|
[Delphi] - Откуда изменение переменной
Доброе время суток форумчане
Столкнулся вот с такой фиговиной: (см.рис) есть переменная «LNameFile», которая при дебаге на 238 строке еще равна «*.fbk», на 239 строке переменная приравнивается к «'PLAN 2018.08.20 18-12-19.fbk'» ОТКУДА??? Если рис. слишком мелкий то сюда Заранее спасибо за ответ. Последний раз редактировалось KBO; 21.09.2018 в 15:05. |
21.09.2018, 15:21 | #2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Внимание! Точного ответа я не знаю, дальше будут мои догадки, вымыслы и фантазии!
Рискну предположить, что либо таймер, либо поток виноваты. А расскажите, зачем использовать ГЛОБАЛЬНУЮ переменную? Вы переменную опишите там, где её используете и используйте, вот глюков и не будет я надеюсь, что приведённая на скриншоте конструкция не висит на таймере? и, чисто случайно, ниже по коду нет присвоения переменной LNameFile значения найденного имения файла?! Вы вообще в курсе, что пока у Вас выполняется обработка таймера, может этот же обработчик сработать ещё раз и Вы войдёте в процедуру таймера повторно ? При этом глобальные переменные будут установлены на то значение, какое они имели в момент повторного срабатывания ? Последний раз редактировалось Serge_Bliznykov; 21.09.2018 в 15:25. |
21.09.2018, 15:24 | #3 |
Форумчанин
Регистрация: 11.06.2010
Сообщений: 525
|
«LNameFile» - это локальная переменная (т.е. описанная в этой процедуре)
Код:
|
21.09.2018, 15:28 | #4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
|
21.09.2018, 15:29 | #5 | |
Форумчанин
Регистрация: 11.06.2010
Сообщений: 525
|
Цитата:
|
|
21.09.2018, 15:32 | #6 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
|
21.09.2018, 15:33 | #7 |
Форумчанин
Регистрация: 11.06.2010
Сообщений: 525
|
офигеть,
верно после breakpoint, у меня происходит форммирование массива из списка файлов Код:
Должен был быть "СТОП" |
21.09.2018, 15:35 | #8 |
Старожил
Регистрация: 16.05.2012
Сообщений: 3,211
|
Она не глобальная, она в заголовке процедуры описана
Попробовал найти баг по фотографии, но ничего путного не нашёл, видимо, телепатия сегодня отдыхает Поэтому предварительно согласен с Сергеем: где-то образуется пересечение имён переменных
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
|
21.09.2018, 15:36 | #9 |
Форумчанин
Регистрация: 11.06.2010
Сообщений: 525
|
|
21.09.2018, 15:39 | #10 |
Форумчанин
Регистрация: 11.06.2010
Сообщений: 525
|
А что, таймер, по breakpoint, нельзя остановить???
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Delphi: изменение типа переменной со string на PAnsiChar | Xaker_Two | Помощь студентам | 1 | 03.02.2013 01:18 |
Отследить изменение переменной | _SERGEYX_ | Общие вопросы Delphi | 10 | 02.03.2011 18:59 |
Изменение переменной | Алексей_xXx | Общие вопросы C/C++ | 1 | 11.12.2009 10:49 |
Изменение переменной | Ant1Player | PHP | 8 | 30.03.2009 22:07 |
Изменение переменной | yura-cat | Помощь студентам | 7 | 20.09.2008 17:42 |