почему вызываются функции?
{
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() все равно вызываются - почему?
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() все равно вызываются - почему?
Значит условия выполняется....
Значит условия выполняется....
ставлю breakpoint'ы на операторах:
когда условие выполняется - прога останавливается на них, не выполняется - соотв. не останавливается.
Но когда ставлю breakpoint внутри одной из функций - то прога останавливается на нем независимо от выролнения условия - т.е. функции вызываются всегда!!!
ставлю breakpoint'ы на операторах:
когда условие выполняется - прога останавливается на них, не выполняется - соотв. не останавливается.
Но когда ставлю breakpoint внутри одной из функций - то прога останавливается на нем независимо от выролнения условия - т.е. функции вызываются всегда!!!
Я бы посоветовал добавить else и понапихать куда только можно ShowMessage("бла");
Посмотреть может функции где еще просто так присутствуют, наверное они не из условия выполняются все таки.
если посмотреть на твой исходник, то видно что заурывающая скобка одна! либо ты просто нескопировал скобку закрывающую функцию, либо это она и есть, а скобка закрывающая if где-то в "...много операторов" - потому и выполняются функции независимо от условия... ну а если просто забыл скобку скопировать - значит что-то еще...
Есил бы скобок было недостаточно компилятор бы вызвал ошибку...
Есил бы скобок было недостаточно компилятор бы вызвал ошибку...
Да о чем вообще речь, как сказал один великий
сэнсей:"Я не хочу больше отвечать на письма о проблемах с компилятором, если конечно, компьютер вдруг не заговорит человеческим языком!"
2 ivan1985:
полтергейсты это прошлый век;), если ты не можешь
отследить вызовы ф-ций в тобой же написанной программе, то грош тебе цена.
З.Ы.: Все подобные топики обычно заканчиваются
словами: Упс...не там запятую поставил8)
2 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() все равно вызываются - почему?
Есть подозрение, что эти функции вызываются из другого куска кода. Если поверить тебе на слово и условие действительно НЕ выполняется, значит надо проверить ВЕСЬ код, где присутствуют вызовы твоих функций. Чьюдесс нье бьывьаеть!
Есть подозрение, что эти функции вызываются из другого куска кода. Если поверить тебе на слово и условие действительно НЕ выполняется, значит надо проверить ВЕСЬ код, где присутствуют вызовы твоих функций. Чьюдесс нье бьывьаеть!
Или ты не до конца знаешь как эти ф-ции работают и
думаешь, что они вызываются:devil:
Или ты не до конца знаешь как эти ф-ции работают и
думаешь, что они вызываются:devil:
"Хвост или есть, или его нет совсем! Тут нельзя ошибиться!"(с) В.Пух :D
Скорее всего все же вызываются, осталось научиться пользоваться дебаггером, брыкпойнтами и иногда заглядывать в стек.
"Хвост или есть, или его нет совсем! Тут нельзя ошибиться!"(с) В.Пух :D
Скорее всего все же вызываются, осталось научиться пользоваться дебаггером, брыкпойнтами и иногда заглядывать в стек.
Были б в мою молодость:D такие вот форумы,
где все разжуют и в рот положат. Посадить бы
тебя ivan1985 за help'3.1 и Ритчи:devil:
А то все кричат да кричат:"I want it All, I want it Now!!!":angel:
Есил бы скобок было недостаточно компилятор бы вызвал ошибку...
я не говорил, что ее нет - я говорил, что стоит она , возможно, не там...
вот если бы весь код был - тогда можно было точнее сказать... а так может действительно из другого места кода вызывается...