Здравствуйте, Николай!
Цитата |
---|
выражение if((Server_Time_var-Registration_Time)>Time_Criterium_for_Bad_Deal) перепишите так: x=Server_Time_var-Registration_Time-Time_Criterium_for_Bad_Deal if x>0 |
Да, я так и сделал. Смутило следующее: 1) по-сути выражение очень простое, казалось невероятным, что оно может
неправильно интерпретироваться; 2) эта ошибка всплыла, т.е. очень долго ее не было и все работало ок;
3) из своего мелкого опыта на С я знаю, что если такие вещи внезапно появляются, то это может быть симптомом серьезной
наведенной ошибки (обычно с использованием памяти).
Просто там я знаю, что проверять - массивы и указатели, а здесь - понятия не имею. А речь все-таки о деньгах :)
Цитата |
---|
Можно предположить, что не хватает памяти для данной строки и в результате облом. |
Возможно. Против этого говорят примеры, приведенные s_mike в первом ответе (второй пример вообще убойный).
Похоже это все-таки проблемы с разбором скобок.
Цитата |
---|
Могу рекомендовать следующее правило: Не пишите сложных и длинных выражений в условиях и такой проблемы никогда не будет. |
Так и решил делать в дальнейшем
Цитата |
---|
И еще в QPILE не рекомендую использовать длинные имена переменных. Все переменные и функции на одном уровне видимости. Длинные имена лишь замедляют интерпретацию |
Как раз из-за этого (что они все на одном уровне), я успеваю забыть, что значат короткие имена.
Но, конечно, насчет скорости Вы правы. Просто у меня код относительно короткий (т.е. я смысл переменных все равно успеваю забыть :)),
поэтому проблемы со скоростью исполнения возникают только при ожидании ответа сервера. Кстати, последнее время, в вечернюю
сессию (когда, казалось бы, запросов меньше) это стало доставлять массу неприятностей.
Спасибо за Ваш ответ!
С уважением,
Евгений