Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

почему вызываются функции?

5.8K
06 августа 2005 года
ivan1985
42 / / 29.06.2005
void __fastcall TForm1::Button45Click(TObject *Sender)
{
int mmin=StrToInt(Edit75->Text);
int hhr=StrToInt(Edit76->Text);
if((wprn1<22)&&(mmin>=0)&&(mmin<60)&&(hhr>=0)&&(hhr<24))
{
...много операторов
wprn1to2();
prweek_draw();
weekpr_gridrefr();
}

Кликаю по Button45, при этом условие в if'е не выполняется, а функции wprn1to2(),rweek_draw() , weekpr_gridrefr() все равно вызываются - почему?
299
07 августа 2005 года
3D Bob
885 / / 18.04.2005
Цитата:
Originally posted by ivan1985
void __fastcall TForm1::Button45Click(TObject *Sender)
{
int mmin=StrToInt(Edit75->Text);
int hhr=StrToInt(Edit76->Text);
if((wprn1<22)&&(mmin>=0)&&(mmin<60)&&(hhr>=0)&&(hhr<24))
{
...много операторов
wprn1to2();
prweek_draw();
weekpr_gridrefr();
}

Кликаю по Button45, при этом условие в if'е не выполняется, а функции wprn1to2(),rweek_draw() , weekpr_gridrefr() все равно вызываются - почему?


Значит условия выполняется....

5.8K
07 августа 2005 года
ivan1985
42 / / 29.06.2005
Цитата:
Originally posted by 3D Bob
Значит условия выполняется....


ставлю breakpoint'ы на операторах:
когда условие выполняется - прога останавливается на них, не выполняется - соотв. не останавливается.
Но когда ставлю breakpoint внутри одной из функций - то прога останавливается на нем независимо от выролнения условия - т.е. функции вызываются всегда!!!

299
07 августа 2005 года
3D Bob
885 / / 18.04.2005
Цитата:
Originally posted by ivan1985
ставлю breakpoint'ы на операторах:
когда условие выполняется - прога останавливается на них, не выполняется - соотв. не останавливается.
Но когда ставлю breakpoint внутри одной из функций - то прога останавливается на нем независимо от выролнения условия - т.е. функции вызываются всегда!!!


Я бы посоветовал добавить else и понапихать куда только можно ShowMessage("бла");
Посмотреть может функции где еще просто так присутствуют, наверное они не из условия выполняются все таки.

317
08 августа 2005 года
Relax
573 / / 20.09.2000
если посмотреть на твой исходник, то видно что заурывающая скобка одна! либо ты просто нескопировал скобку закрывающую функцию, либо это она и есть, а скобка закрывающая if где-то в "...много операторов" - потому и выполняются функции независимо от условия... ну а если просто забыл скобку скопировать - значит что-то еще...
299
08 августа 2005 года
3D Bob
885 / / 18.04.2005
Цитата:
Originally posted by Relax
если посмотреть на твой исходник, то видно что заурывающая скобка одна! либо ты просто нескопировал скобку закрывающую функцию, либо это она и есть, а скобка закрывающая if где-то в "...много операторов" - потому и выполняются функции независимо от условия... ну а если просто забыл скобку скопировать - значит что-то еще...


Есил бы скобок было недостаточно компилятор бы вызвал ошибку...

2.0K
08 августа 2005 года
WidowMaker
212 / / 05.04.2005
Цитата:
Originally posted by 3D Bob
Есил бы скобок было недостаточно компилятор бы вызвал ошибку...


Да о чем вообще речь, как сказал один великий
сэнсей:"Я не хочу больше отвечать на письма о проблемах с компилятором, если конечно, компьютер вдруг не заговорит человеческим языком!"
2 ivan1985:
полтергейсты это прошлый век;), если ты не можешь
отследить вызовы ф-ций в тобой же написанной программе, то грош тебе цена.

З.Ы.: Все подобные топики обычно заканчиваются
словами: Упс...не там запятую поставил8)

299
09 августа 2005 года
3D Bob
885 / / 18.04.2005
Цитата:
Originally posted by WidowMaker

2 ivan1985:
полтергейсты это прошлый век


Вот правда, так понравилась эта фраза))))

585
09 августа 2005 года
honeybeer
297 / / 06.09.2004
Цитата:
Originally posted by ivan1985
void __fastcall TForm1::Button45Click(TObject *Sender)
{
int mmin=StrToInt(Edit75->Text);
int hhr=StrToInt(Edit76->Text);
if((wprn1<22)&&(mmin>=0)&&(mmin<60)&&(hhr>=0)&&(hhr<24))
{
...много операторов
wprn1to2();
prweek_draw();
weekpr_gridrefr();
}

Кликаю по Button45, при этом условие в if'е не выполняется, а функции wprn1to2(),rweek_draw() , weekpr_gridrefr() все равно вызываются - почему?


Есть подозрение, что эти функции вызываются из другого куска кода. Если поверить тебе на слово и условие действительно НЕ выполняется, значит надо проверить ВЕСЬ код, где присутствуют вызовы твоих функций. Чьюдесс нье бьывьаеть!

2.0K
09 августа 2005 года
WidowMaker
212 / / 05.04.2005
Цитата:
Originally posted by honeybeer
Есть подозрение, что эти функции вызываются из другого куска кода. Если поверить тебе на слово и условие действительно НЕ выполняется, значит надо проверить ВЕСЬ код, где присутствуют вызовы твоих функций. Чьюдесс нье бьывьаеть!


Или ты не до конца знаешь как эти ф-ции работают и
думаешь, что они вызываются:devil:

585
09 августа 2005 года
honeybeer
297 / / 06.09.2004
Цитата:
Originally posted by WidowMaker
Или ты не до конца знаешь как эти ф-ции работают и
думаешь, что они вызываются:devil:


"Хвост или есть, или его нет совсем! Тут нельзя ошибиться!"(с) В.Пух :D
Скорее всего все же вызываются, осталось научиться пользоваться дебаггером, брыкпойнтами и иногда заглядывать в стек.

2.0K
09 августа 2005 года
WidowMaker
212 / / 05.04.2005
Цитата:
Originally posted by honeybeer
"Хвост или есть, или его нет совсем! Тут нельзя ошибиться!"(с) В.Пух :D
Скорее всего все же вызываются, осталось научиться пользоваться дебаггером, брыкпойнтами и иногда заглядывать в стек.


Были б в мою молодость:D такие вот форумы,
где все разжуют и в рот положат. Посадить бы
тебя ivan1985 за help'3.1 и Ритчи:devil:
А то все кричат да кричат:"I want it All, I want it Now!!!":angel:

317
10 августа 2005 года
Relax
573 / / 20.09.2000
Цитата:
Originally posted by 3D Bob
Есил бы скобок было недостаточно компилятор бы вызвал ошибку...



я не говорил, что ее нет - я говорил, что стоит она , возможно, не там...
вот если бы весь код был - тогда можно было точнее сказать... а так может действительно из другого места кода вызывается...

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог