Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.12.2009, 17:39   #1
GenniY
Форумчанин
 
Регистрация: 09.09.2009
Сообщений: 181
Счастье Проблема с boolean

Привет всем.
Уже не знаю что делать.

часть кода при создании формы

Код:
var 
   isK : boolean;
begin
isK := false;
end;
Компилятор строку "isK := false;" просто перепрыгивает!?!?!

Если переменную объявить глобально — все работает.

Кто знает какая может быть причина?
Получил помощь — отблагодарил.
GenniY вне форума Ответить с цитированием
Старый 11.12.2009, 17:47   #2
Лубышев
Участник клуба
 
Аватар для Лубышев
 
Регистрация: 23.07.2007
Сообщений: 1,054
По умолчанию

по данному клочку кода мало о чем можно судить.
Вы потом пытаетесь эту переменную в других процедурах использовать? если все происходит при создание и ни где больше не используется то косяков не должно быть
Писано по д'Эльфийски
Лубышев вне форума Ответить с цитированием
Старый 11.12.2009, 17:55   #3
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Компилятор строку "isK := false;" просто перепрыгивает
Просто при создании булевой переменной ей по умолчанию присваивается значение FALSE.
Так что ваша строка не имеет смысла и компилятор "на нее пилюет"...
mihali4 вне форума Ответить с цитированием
Старый 12.12.2009, 22:03   #4
GenniY
Форумчанин
 
Регистрация: 09.09.2009
Сообщений: 181
По умолчанию

Цитата:
Просто при создании булевой переменной ей по умолчанию присваивается значение FALSE.
Так что ваша строка не имеет смысла и компилятор "на нее пилюет"...
true также....
Всё работало до вчерашнего дня. Даже те переменные и тот код который был написан раньше компилетса и сейчас, а если вводишь аналогичную новую переменную ... БОК... Как ... как это может быть?????????
Получил помощь — отблагодарил.

Последний раз редактировалось GenniY; 12.12.2009 в 22:06.
GenniY вне форума Ответить с цитированием
Старый 12.12.2009, 22:09   #5
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Оптимизация включена?
При включенной оптимизации пошаговая отладка становится весьма забавным занятием...
mihali4 вне форума Ответить с цитированием
Старый 12.12.2009, 22:09   #6
Roof
Форумчанин
 
Аватар для Roof
 
Регистрация: 01.02.2007
Сообщений: 785
По умолчанию

показывай код полностью - как объявляешь, как присваиваешь, как используешь.
Изо всей благодати
В руках крепко сжатых
Я донесу только капли
Roof вне форума Ответить с цитированием
Старый 12.12.2009, 22:16   #7
GenniY
Форумчанин
 
Регистрация: 09.09.2009
Сообщений: 181
По умолчанию

Цитата:
показывай код полностью - как объявляешь, как присваиваешь, как используешь.
я сейчас не за своим компом.
Этот код я пишу просто при создании формы. Можно этот код написать даже OnClike кнопки -- всё также.
Получил помощь — отблагодарил.
GenniY вне форума Ответить с цитированием
Старый 12.12.2009, 22:19   #8
Roof
Форумчанин
 
Аватар для Roof
 
Регистрация: 01.02.2007
Сообщений: 785
По умолчанию

Код:
procedure TForm1.FormCreate(Sender: TObject);
var
 check: boolean;
begin
 check:= true;
 if check then ShowMessage('check is TRUE!');
end;
как и ожидалось - выдает сообщение.
Изо всей благодати
В руках крепко сжатых
Я донесу только капли
Roof вне форума Ответить с цитированием
Старый 12.12.2009, 22:26   #9
GenniY
Форумчанин
 
Регистрация: 09.09.2009
Сообщений: 181
По умолчанию

Roof, это всё понятно... Я же написал всё работало.... (хотя а как может быть иначе?!?!?!)
КАКИМ БОКОМ ОНО НЕ ПАШЕТ?

Я понимаю вопрос очевиден...
Но не работает.
Получил помощь — отблагодарил.
GenniY вне форума Ответить с цитированием
Старый 12.12.2009, 22:42   #10
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

думаю, что оптимизация включена.
если переменная объявленна локально и в данном методе НИГДЕ не используется - то и код для неё генерится не будет... для чего он нужен то?!
достаточно в методе дописать, например,
Код:
  if isK then ShowMessage('True');
как код тут же будет сгенерён...
Только подчёркиваю (я сейчас прямо капитан очевидность! ) - доступ к локальным переменным из других методов НЕВОЗМОЖЕН! (потому они и локальные!!
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разновидности Boolean k1r1ch Свободное общение 54 14.11.2009 11:42
PAS: byte --> boolean Jean-Esther Помощь студентам 4 02.03.2009 21:29
И опять boolean. dimple Помощь студентам 4 04.05.2008 14:03
Boolean Air Общие вопросы Delphi 2 16.02.2008 17:15
Boolean... ZhekON Общие вопросы Delphi 2 17.06.2007 00:39