Неадекватное поведение оператора if - страница 2

 
На саму логику кода не обращайте внимания, я совсем новичок в этой теме, и это только наброски примитивные.
 
xordword85:

Да, не стал весь кидать, ну ок, вот представлю весь.

Мой вариант проверяли?
 
Rashid Umarov:
Мой вариант проверяли?

У вас скрипт, у меня советник. Запихал этот код в ОнИнит(), только определения переменных свои оставил - НЕ заработало, таже проблема.

Если дадите вариант для советника - попробую еще раз.

 
xordword85:

Да, не стал весь кидать, ну ок, вот представлю весь. На самом деле непоняток еще больше, я просто решил на одной из них здесь сфокусироваться.

В данный момент все работает как я сказал, если if (0) то работает, если if (1) то нет.



ЗЫ: Там где эти if (0) у меня на самом деле был вызов функции самодельной, но я вот специально ее убрал ради чистоты эксперимента, думал в ней дело, но теперь ее нет.

Просто кошмар. 

В fmax() передается строковая переменная, от этого происходит сумасшествие. 

 
Попробуйте использовать булевое значение  true вместо 1, может у вас глюк в системе.
 
 
xordword85:

Всем привет, сломал весь мозг но не понял что за бред.

Смотрите, внешний иф никогда не срабатывает, так и должно быть. НО при этом код вообще не работает, ни один алерт не вылетает, и ошибок компиляции тоже нет.

Теперь внимание - стоит во внутреннем ифе вместо if (1) написать if (0) алерты срабатывают. ЧТО вообще происходит?

Уточню - Alert("333"); никогда не срабатывает, в тот иф вообще никак попасть нельзя, так и должно быть. Но при этом после запуска ничего вообще не работает и ошибок нет.

Однако если сделать как я сказал - все работает, что это?

Что такое If(0) и if(1)? 

If (Если) Если что?   Бред выходит, когда вы не осознаете что вы написали. 

 

Из-за этого:

int flag_1_1_b_need_next = 0;
string info[3];

flag_1_1_b_need_next  = fmax(flag_1_1_b_need_next, info[1]);
 

Какое влияние оказывает эта строка

flag_1_1_b_need_next  = fmax(flag_1_1_b_need_next, info[1]);

на выполнение условий? Ведь эта переменная никак не фигурирует в условиях…

 

Думаю условия здесь ни при делах, MT глючит на сравнении числа со строкой. И в этот момент Alert не работает, никакой.

Не проверял, просто визуально просмотрел.


Дмитрий первым заметил.

 
Dmitry Fedoseev:

Просто кошмар. 

В fmax() передается строковая переменная, от этого происходит сумасшествие. 

Спасибо большое за наводку, в ближайшее время проверю сообщу.