Библиотеки и пользовательские функции - страница 3

 
про Comment в OrderSend уже молчу, ситуация так и не изменилась..........
может, у вас что-нибудь прояснилось?
 
вообще-то речь шла о последовательном вызове 2 функций и ничего не было сказано, что эти 2 функции расположены в двух разных библиотеках. будем разбираться
 
угу, будем ждать...
только скажите, плз, когда что-нибудь выяснится....
 
я сижу и плачу.....

серия № 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);
}


получается

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



если убрать комменты (/* и */) - critical error.

 
Привет, komposter. Скопировал твой код. Цвет задал явно (у меня же переменная не определена). Координаты чуть сместил (OHLC перекрывает). Все работает. Комменты убрал - время показывает. Короче все рабочее. Хотя, по-моему, в названиях имен лучше не использовать пробелы и прочие спецсимволы.
 
С одним отличием, правда, проверил. Вызов label_create поместил в int start, а описание за пределы int start.
 
Хотя, по-моему, в названиях имен лучше не использовать пробелы и прочие спецсимволы.

Прошу прощения, что вмешиваюсь в беседу, но MQL4 позволяет (возможно это исчезнет в следующих версиях) использовать даже русские буквы в именах переменных.

Не хочу сказать, что я этим пользуюсь, привчка не позволяет называть переменные русскими буквами и именами, но уж если и русские буквы в именах разрешены, то символ подчёркивания никак нельзя назвать противоестественным для использования в именах переменных.

Тем более, что авторы MQL4 повсюду руководствуются принятыми в Си правилами, а символ "_" в Си, хоть стандартом и не оговаривается отдельно, но является стандартом де факто для использования в качестве разделителя слов в именах переменных.
 
Horn, нет, я не про имя функции и подчеркивание, оно должно везде нормально браться. Я про имя объекта "Expert log".
PS Русские буквы в именах не проверял даже - извращение, по-моему.
 
Роман, обе эти ф-ции находятся в библиотеке. Эксперт из init() вызывает первую ф-цию, она, в свою очередь, вызывает вторую.
Алертами проследил, что именно на первом label_create наступает крэш. Если коменты не убирать, просто поток ошибок в лог ( на каждый вызов ф-ции label_create - 5 строк....)
Когда label_create находится в другой библиотеке - всё работает :) загадка, в общем......
 
Я про имя объекта "Expert log"

пробовал делать вместо пробела нижнее подчёркивание - не помагает =)