Ошибки, баги, вопросы - страница 1349

 

Есть еще один баг, давно наблюдается, но никак не могу понять его причину..

Суть бага касается OBJPROP_TOOLTIP  при создании обькта например кнопки при указании OBJPROP_TOOLTIP бывает что OBJPROP_TOOLTIP просто не записывается ...

например создаю 10-15 кнопок у 10 OBJPROP_TOOLTIP записывается а у 5 нет ...  С чем это связано не могу понять ...

 
Vladimir Pastushak:

Есть еще один баг, давно наблюдается, но никак не могу понять его причину..

Суть бага касается OBJPROP_TOOLTIP  при создании обькта например кнопки при указании OBJPROP_TOOLTIP бывает что OBJPROP_TOOLTIP просто не записывается ...

например создаю 10-15 кнопок у 10 OBJPROP_TOOLTIP записывается а у 5 нет ...  С чем это связано не могу понять ...

Я вычислил когда происходит этот баг !!!

Если имя обьекта содержит фрагмент текста "Com"   то OBJPROP_TOOLTIP не работает .....

 
помогите. не понимаю почему и как советник не работает
Файлы:
 
MSI357 Михаил:
помогите. не понимаю почему и как советник не работает

Для начала пропишите

#property strict
, исправьте все предупреждения. А потом уже подробнее опишите, что именно не работает.
[Удален]  
MSI357 Михаил:
помогите. не понимаю почему и как советник не работает
Код написан в старом стиле, т.е. не имеет строгого контроля ошибок, для этого нужно прописать в начале кода:
#property strict

Так же необходимо привести в соответствие все функции обработки событий, смотрите справку этого раздела и смотрите код - все устаревшие функции заменяйте новыми.

Желательно заменить глобальные переменные в коде советника и использующиеся исключительно в пользовательских функциях на локальные переменные. Этим шагом избежите многих "детских" ошибок, да и код читаться будет легче.

В обязательном порядке просмотрите изменения в приоритетах операций (соответствующий раздел справки), некоторые операции в старом стиле изменили свои приоритеты, соответственно возможно нужно будет поменять условия в логике.

После этого, если возникнут ошибки, спрашивайте с подробным описанием что именно не работает.

 

Вопрос на тему. Перекомпилятора с МТ4 в МТ5 и наоборот  уже поднимался? и каковы результаты?

Советником переводить на иной терминал. 

 
Vladimir Pastushak:

Я вычислил когда происходит этот баг !!!

Если имя обьекта содержит фрагмент текста "Com"   то OBJPROP_TOOLTIP не работает .....

Com != Сom

все работает

void OnStart()
{
        const string object_name = "Сom";
        ::ObjectCreate( 0, object_name, OBJ_BUTTON, 0, 0, 0 );
                          ::ObjectSetString( 0, object_name, OBJPROP_TOOLTIP, object_name );
        const string tt = ::ObjectGetString( 0, object_name, OBJPROP_TOOLTIP );
        Print( "tt=", tt );
}
 
 
A100:

Com != Сom

все работает

 

Ошибок с русским текстом нет, русский тикст светится красным...

Вы создаете один обьект у меня иначе,  20 обьектов ...

А зачем вы ставите :: перед функцией ?

 
Vladimir Pastushak:

Ошибок с русским текстом нет, русский тикст светится красным...

В кавычках не светится
 
A100:
В кавычках не светится
нет русского нет, проверил