Даеш SetLastError!!! - страница 3

 
VladislavVG:
А посмотрите там, где я писал об обработке ошибок - есть темы по форуму ;)

Но правильный совет я почему то не от вас здесь получил :) Да вообще о чем речь в MQL5 сделали как надо в MQL4 это лечится инклудом и все :)
 
vit46:

Но правильный совет я почему то не от вас здесь получил :) Да вообще о чем речь в MQL5 сделали как надо в MQL4 это лечится инклудом и все :)

Если имеется ввиду этот пост :

 
vit46:
Очень нехвотает этой функции в MT4 что делать помогите!

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

int err=GetLastError();
OrderSend(...);

if (GetError()==конкретный номер){
         // код обработки сброс ошибки или наоборот
         SetError(0);
         }
else if(...)

то это я бы так не делал: ИМХО - это неверно, точнее не совсем верно. Остальные в той или иной мере подтверждают то,что что я Вам советовал ;) .....

 
VladislavVG:

Если имеется ввиду этот пост :

то это я бы так не делал: ИМХО - это неверно, точнее не совсем верно.

Развивайте тему.
 
Roger:
Развивайте тему.

Что тут развивать?

Ошибки надо обрабатывать по мере их возникновения, а не откладывать "а потом".

 

уже ж написали на второй странице

используйте.

int ticket=OrderSend();
if (ticket<0) // и только после этого
{  GetLastError()  }
 
VladislavVG:

Если имеется ввиду этот пост :

то это я бы так не делал: ИМХО - это неверно, точнее не совсем верно. Остальные в той или иной мере подтверждают то,что что я Вам советовал ;) .....


это не верно а лучше. более развитые языки именно так устроены в плане обработки ошибок... вот и MQL5 медленно но верно подтягивается....
 
Что тут развивать?

Ошибки надо обрабатывать по мере их возникновения, а не откладывать "а потом".

Это ясно. Я и сам так никогда не делаю, предложил как вариант решения проблемы топикстартера. Но хотелось бы услышать, почему так делать нельзя принципиально. Может в дальнейшем столкнусь, тогда и пригодится.

 
sergeev:


уже ж написали на второй странице

используйте.


Так не годится, потому что если у Вас была ошибка от прежней операции и Вы ее не обработали, то если в настоящей операции не будет ошибок, Вы обработаете предыдущую.
 
vit46:

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

вы до сих пор не написали, чем ваше предложение поможет улучшить MQL. пока что какие то голые просьбы, нужные только лишь вам, с непонятной целью
 
sergeev:


уже ж написали на второй странице

используйте.


да это верно и с моим подходом согласуется одно другому не мешает... безусловный вызов GetLastError нельзя использовать иными словами.

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