вообще-то речь шла о последовательном вызове 2 функций и ничего не было сказано, что эти 2 функции расположены в двух разных библиотеках. будем разбираться
2005.02.08 03:50:45 info_lib EURUSD,H4: object name for ObjectSetText function is missing
2005.02.08 03:50:45 info_lib EURUSD,H4: object name for ObjectSet function is missing
2005.02.08 03:50:45 info_lib EURUSD,H4: object name for ObjectSet function is missing
2005.02.08 03:50:45 info_lib EURUSD,H4: object name for ObjectSet function is missing
2005.02.08 03:50:45 info_lib EURUSD,H4: object name for ObjectCreate function is missing
Привет, komposter. Скопировал твой код. Цвет задал явно (у меня же переменная не определена). Координаты чуть сместил (OHLC перекрывает). Все работает. Комменты убрал - время показывает. Короче все рабочее. Хотя, по-моему, в названиях имен лучше не использовать пробелы и прочие спецсимволы.
Хотя, по-моему, в названиях имен лучше не использовать пробелы и прочие спецсимволы.
Прошу прощения, что вмешиваюсь в беседу, но MQL4 позволяет (возможно это исчезнет в следующих версиях) использовать даже русские буквы в именах переменных.
Не хочу сказать, что я этим пользуюсь, привчка не позволяет называть переменные русскими буквами и именами, но уж если и русские буквы в именах разрешены, то символ подчёркивания никак нельзя назвать противоестественным для использования в именах переменных.
Тем более, что авторы MQL4 повсюду руководствуются принятыми в Си правилами, а символ "_" в Си, хоть стандартом и не оговаривается отдельно, но является стандартом де факто для использования в качестве разделителя слов в именах переменных.
Horn, нет, я не про имя функции и подчеркивание, оно должно везде нормально браться. Я про имя объекта "Expert log".
PS Русские буквы в именах не проверял даже - извращение, по-моему.
Роман, обе эти ф-ции находятся в библиотеке. Эксперт из init() вызывает первую ф-цию, она, в свою очередь, вызывает вторую.
Алертами проследил, что именно на первом label_create наступает крэш. Если коменты не убирать, просто поток ошибок в лог ( на каждый вызов ф-ции label_create - 5 строк....)
Когда label_create находится в другой библиотеке - всё работает :) загадка, в общем......
может, у вас что-нибудь прояснилось?
только скажите, плз, когда что-нибудь выяснится....
серия № 2 :)))
void 123() { ............... label_create ( "Expert log", "Expert log ( "/* + TimeToStr( LocalTime(), TIME_SECONDS) + " )"*/, Standart_Color, 0, 0, 0 ); ............... } void label_create ( string name, string text, color _color, int x, int y, int corner ) { double font_size = 8; string font = "Arial"; ObjectCreate( name, OBJ_LABEL,0,0,0,0,0,0,0); ObjectSet( name, OBJPROP_CORNER, corner); ObjectSet( name, OBJPROP_XDISTANCE, x); ObjectSet( name, OBJPROP_YDISTANCE, y); ObjectSetText( name, text, font_size, font, _color); }получается
если убрать комменты (/* и */) - critical error.
Прошу прощения, что вмешиваюсь в беседу, но MQL4 позволяет (возможно это исчезнет в следующих версиях) использовать даже русские буквы в именах переменных.
Не хочу сказать, что я этим пользуюсь, привчка не позволяет называть переменные русскими буквами и именами, но уж если и русские буквы в именах разрешены, то символ подчёркивания никак нельзя назвать противоестественным для использования в именах переменных.
Тем более, что авторы MQL4 повсюду руководствуются принятыми в Си правилами, а символ "_" в Си, хоть стандартом и не оговаривается отдельно, но является стандартом де факто для использования в качестве разделителя слов в именах переменных.
PS Русские буквы в именах не проверял даже - извращение, по-моему.
Алертами проследил, что именно на первом label_create наступает крэш. Если коменты не убирать, просто поток ошибок в лог ( на каждый вызов ф-ции label_create - 5 строк....)
Когда label_create находится в другой библиотеке - всё работает :) загадка, в общем......
пробовал делать вместо пробела нижнее подчёркивание - не помагает =)