MessageBox - снова не работает (только у меня:) ???)

 

Build 216

Пишу в init()

MessageBox("init");

Alert("init");

На мессаджбокс никакой реакцции.. Алерт естественно выводит..

Стоит Outpost firewall i NOD32

Но вроде отношения не имеет это к происходящему...

 

Читайте Справку!

Функцию нельзя вызывать из пользовательских индикаторов, так как индикаторы выполняются в интерфейсном потоке и не должны его тормозить.

 
hotice:

Build 216

Пишу в init()

MessageBox("init");

Alert("init");

На мессаджбокс никакой реакцции.. Алерт естественно выводит..

Стоит Outpost firewall i NOD32

Но вроде отношения не имеет это к происходящему...

Не забыли добавить #include <WinUser32.mqh>

 
sergeev:

Читайте Справку!

Функцию нельзя вызывать из пользовательских индикаторов, так как индикаторы выполняются в интерфейсном потоке и не должны его тормозить.

хм.. А если мне вот именно надо "затормозить" ф-ю start() ... ??? до нажатия кнопки...

И заодно еще вопрос)) (по форуму искал, доки читал.. но не помогло) - что дает return(-1) iz start() ili init() ??

Мне нужно чтоб индикатор завершил работу (сам себя выгрузил). Или это не для этого?

Вот только-что подумал что может для этой цели вызывается deinit().. Но попробовать пока-что возможности нет..

 

чтоб индюк себя выгрузил можно сделать каккую-нибудь ошибку в нем (деление на 0 например).

А если хочешь затормозить, то может помогут глобальные переменные. Не знаю, не пробовал...

 
sergeev:

чтоб индюк себя выгрузил можно сделать каккую-нибудь ошибку в нем (деление на 0 например).

А если хочешь затормозить, то может помогут глобальные переменные. Не знаю, не пробовал...

Хм.. спасибо )) Деление правда пробовал, но видимо неправильно, поэтому и не сработало ))  

Там было что-то типа

int n=0;

n/=n;

Видимо, надо все-таки не ноль делить на ноль.. Восстановлю компутер - попробую ))

Причина обращения: