Вопрос по функцию GetLastError()

 


В описании для функции double ObjectGetValueByShift( string name, int shift) сказано:

"Для получения информации об ошибке необходимо вызвать функцию GetLastError()."


Примера вызова нет. Как же вызвать GetLastError() для double функции?

 
Foma_N:


В описании для функции double ObjectGetValueByShift( string name, int shift) сказано:

"Для получения информации об ошибке необходимо вызвать функцию GetLastError()."


Примера вызова нет. Как же вызвать GetLastError() для double функции?

Точно так же как и для любой другой. Тип возвращаемого внешней функцией значения (в Вашем случае double ObjectGetValueByShift( string name, int shift) ) роли не играет. Как это нет примера ? Смотрите хелп для самой функція GetLastError() :

int GetLastError( ) 
Функция возвращает код последней ошибки, после чего значение специальной переменной last_error, в которой хранится код последней ошибки обнуляется. 
Так что последующий вызов GetLastError() вернет значение 0. 
Пример:
  int err;
  int handle=FileOpen("somefile.dat", FILE_READ|FILE_BIN);
  if(handle<1)
    {
     err=GetLastError();
     Print("error(",err,"): ",ErrorDescription(err));
     return(0);
    }
 
 

примеров - очень много.

err=GetLastError();
      if (pa==0 && pb==0) Message("Проверьте в Обзоре рынка наличие символа "+sy);
      // Вывод сообщения об ошибке
      Print("Error(",err,") opening position: ",ErrorDescription(err),", try ",it);
      Print("Ask=",pa," Bid=",pb," sy=",sy," ll=",ll," op=",GetNameOP(op),
            " pp=",pp," sl=",sl," tp=",tp," mn=",mn);
      // Блокировка работы советника
      if (err==2 || err==64 || err==65 || err==133) {
        gbDisabled=True; break;
      }
      // Длительная пауза
      if (err==4 || err==131 || err==132) {
        Sleep(1000*300); break;
      }
      if (err==128 || err==142 || err==143) {
        Sleep(1000*66.666);
        if (ExistPositions(sy, op, mn, ot)) {
          if (UseSound) PlaySound(NameFileSound); break;
        }
      }
      if (err==140 || err==148 || err==4110 || err==4111) break;
      if (err==141) Sleep(1000*100);
      if (err==145) Sleep(1000*17);
      if (err==146) while (IsTradeContextBusy()) Sleep(1000*11);
      if (err!=135) Sleep(1000*7.7);

http://www.google.com.by/search?as_q=GetLastError%28+codebase&hl=ru&client=firefox&rls=org.mozilla%3Aru%3Aofficial&num=10&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA+%D0%B2+Google&as_epq=&as_oq=&as_eq=&lr=&cr=&as_ft=i&as_filetype=&as_qdr=all&as_occt=any&as_dt=i&as_sitesearch=mql4.com&as_rights=&safe=images