|
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
|
||||||||||||||||
Нелепая ошибка в локальной переменной18.07.2013, 15:25. Показов 2701. Ответов 29
Метки нет (Все метки)
И так: Пишу на Visual C++ под Winapi.
Создал диалог, в него поместил локальную переменную:
А не выводится нифига! Всегда "0". Не понимаю в чём дело, хоть головой об стену бейся. Собственно в чём может быть ошибка то ? П.с. если меняю код местами:
0
|
||||||||||||||||
| 18.07.2013, 15:25 | |
|
Ответы с готовыми решениями:
29
Применение std::move к локальной переменной при возврате из функции [Mono] Ошибка при использовании локальной переменной
|
|
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
|
|||||||
| 18.07.2013, 15:48 [ТС] | |||||||
|
Я понимаю, что при перезапуске диалога - переменная должна обнулятся, т.к. инициализация переменной осуществляется заново. Но ведь я диалог не закрываю, а просто повторно кликаю на кнопку. Добавлено через 18 минут Вот полный код диалогового окна:
0
|
|||||||
|
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
|
||
| 18.07.2013, 15:59 [ТС] | ||
|
0
|
||
|
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
|
|||
| 18.07.2013, 16:08 [ТС] | |||
|
(Обычные локальные переменные)
0
|
|||
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
||
| 18.07.2013, 16:10 | ||
|
0
|
||
|
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
|
||||
| 18.07.2013, 16:16 [ТС] | ||||
0
|
||||
|
Модератор
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
|
|||||||||||||||||
| 18.07.2013, 16:28 | |||||||||||||||||
|
и вообще присваивать bool 1 и 0глупость у него есть значения true и false вот как должен выглядеть код
ну а насчет статика тебе уже сказали можешь объявить глобальную, хотя это глупо
0
|
|||||||||||||||||
|
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
|
||||||||
| 18.07.2013, 16:30 [ТС] | ||||||||
Закрытие блока: при закрытии диалога(чего я не делаю). Переменная действительно определяется только внутри этого диалога(на то она и локальная). Но вопрос то тогда - почему значение переменной (обычной локальной) - не изменилось после выхода из функции обработки кнопки?... Есть конечно такое ещё на том же сайте:
П.С.
0
|
||||||||
|
Модератор
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
|
|||||||
| 18.07.2013, 16:39 | |||||||
|
отработает и выходит(иначе бы диалог "завис") а при каждом новом сообщении опять входит в функцию и тут у тебя появляется новая VCam чтобы она была не новая а старая и используется статик Добавлено через 42 секунды Добавлено через 2 минуты
1
|
|||||||
|
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
|
|||
| 18.07.2013, 16:43 [ТС] | |||
|
Теперь вопрос: это косяк мелокософта... а значит на будущее все "локальные" нужно превращять в "статические локальные" - дабы избежать потом таких косяков?.. А на других платформах такое же?... ~ ~ П.С.
0
|
|||
|
Модератор
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
|
|||
| 18.07.2013, 16:50 | |||
|
в отличии от Дос не программа управляет системой а система программой сделал ты что нибудь (нажал кнопку, сдвинул мышку) система это определила и дала знать программе а программа должна отработать это событие и вернуть управление опять системе
0
|
|||
|
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
|
||
| 18.07.2013, 16:56 [ТС] | ||
|
Однако это точно косяк. Т.к. тогда получается что смысл обычной локальной переменной теряется, т.к. вдруг система получит какой то вызов, и по принципу "параллельности" (т.е. оно же будет выполнять действие не буквально параллельно, а одно за другим) система сотрёт значение, даже работая в пределах одного блока, и не до делая обработку одного блока - перейдёт к другому вызову.
0
|
||
|
Модератор
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
|
||
| 18.07.2013, 17:00 | ||
|
потому что ты не понимаешь а если тебе каждый раз нужна новая переменная, например счетчик цикла то под неё память резервировать и хранить?
0
|
||
|
Неэпический
|
|
| 18.07.2013, 17:02 | |
|
0
|
|
| 18.07.2013, 17:02 | |
|
Помогаю со студенческими работами здесь
20
Ошибка «использование локальной переменной которой не присвоено значениe» внутри switch
Ошибка 1 Использование локальной переменной "stat", которой не присвоено значение Ошибка "Использование локальной переменной "d", которой не присвоено значение" Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
|
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
|
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2.
Данный документ берёт данные из другого нетипового документа. . .
|
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
|
|
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать программный контроль на предмет проведения документа. . .
|
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача:
1. Реализовать контроль заполнения реквизита. . .
|
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение:
DISM / Online / Add-Capability / CapabilityName:WMIC~~~~
Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
|
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: при создании документов установить период списания автоматически. . .
|