Dê-me SetLastError!!! - página 3

 
VladislavVG:
E veja onde escrevi sobre tratamento de erros - há tópicos de fórum ;)

Não recebi o conselho certo de você aqui por alguma razão :) Do que você está falando? Na MQL5 eles o fizeram corretamente na MQL4, você pode consertá-lo com um includes, isso é tudo :)
 
vit46:

Não recebi o conselho certo de você aqui por alguma razão :) Do que você está falando? A MQL5 fez isso corretamente na MQL4, você pode consertar com um includes, isso é tudo :)

Se você se refere a este posto :

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

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

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

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

Eu não o faria dessa maneira: IMHO é errado, ou melhor, não é bem certo. Os outros confirmam mais ou menos o que eu lhes aconselhei ;) .....

 
VladislavVG:

Se você se refere a este posto :

Eu não o faria dessa maneira: IMHO - é errado, ou melhor, não é bem assim.

Desenvolver o tema.
 
Roger:
Desenvolver o tema.

O que há para desenvolver?

Os erros devem ser tratados à medida que surgem, e não adiados "para mais tarde".

 

Já está escrito na página dois.

utilizá-lo.

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

Se você se refere a este posto :

Eu não o faria dessa maneira: IMHO é errado, ou melhor, não é bem certo. Os outros confirmam mais ou menos o que eu lhes aconselhei ;) .....


Isso não é verdade, é melhor. Idiomas mais avançados são projetados dessa forma em termos de tratamento de erros... por isso a MQL5 está melhorando lenta mas seguramente....
 
Что тут развивать?

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

Isso está claro. Eu mesmo nunca faço isso, eu mesmo o ofereci como uma solução para o problema. Mas eu gostaria de saber por que você não pode fazer isso em princípio. Talvez, no futuro, eu me depararei com ele, e então ele será útil.

 
sergeev:


Já está escrito na página dois.

utilizá-lo.


Isto não é bom porque se você teve um erro de uma operação anterior e não o processou, então se não houver erro na operação atual, você processará a anterior.
 
vit46:

isso não é verdade, mas melhor. línguas mais desenvolvidas são projetadas dessa forma em termos de tratamento de erros... por isso a MQL5 está melhorando lenta mas seguramente....

Você ainda não escreveu o que sua sugestão ajuda a melhorar o MQL.
 
sergeev:


Já está escrito na página dois.

utilizá-lo.


Sim, isto é verdade e é coerente com a minha abordagem... A chamada incondicional GetLastError não pode ser usada em outras palavras.

Razão: