SetLastError ver!!! - sayfa 2

 
vit46 :


Hayır, şöyle yazıyorum:


bu durumda da yanlıştır.

hata durumunda her işlevin false veya -1 döndürdüğünü görebilirsiniz.

işte kullandığın şey.

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

MT4'teki bu işlevi gerçekten özlüyorum, ne yapmalı, yardım!

GetLastError() işlevi , değeri okunduktan sonra sıfırlanır. İstediğiniz işlemden önce ek bir boş okuma ekleyin.

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

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

bu durumda da yanlıştır.

hata durumunda her işlevin false veya -1 döndürdüğünü görebilirsiniz.

işte kullandığın şey.


bu gerçekten doğru! Aklıma bile gelmedi... çünkü benimki gibi daha iyi bir yol var :) Kendi hata kodlarını oluşturan karmaşık fonksiyonlar yazabilirim.
 
Roger :

GetLastError() işlevi, değeri okunduktan sonra sıfırlanır. İstediğiniz işlemden önce ek bir boş okuma ekleyin.


işin aslı her seferinde gerekli işlemin önüne okumayı koymak istemiyorum... Gerekli tüm işlemlere sahibim bu yüzden satır üzerinden GetLastError yapmam gerektiği ortaya çıktı :)
 
vit46 :

işin aslı her seferinde gerekli işlemin önüne okumayı koymak istemiyorum... Gerekli tüm işlemlere sahibim bu yüzden satır üzerinden GetLastError yapmam gerektiği ortaya çıktı :)

O zaman önerdiğiniz yeni işlevin nasıl çalışmasını istediğiniz belli değil. Zaman içinde veya hangi gerekçelerle kendini nasıl güncelleyebilecek?
 
last_error özel değişkenini okumak ve yazmak istiyorum. Hata işlendi, sıfıra ayarlandı - işlenmedi - hata kodu programın sonuna ulaşır ve orada bulunur.
 
vit46 :


Hayır, şöyle yazıyorum:

 OrderSend (...);

if (GetError()==конкретный номер){
         // код обработки сброс ошибки или наоборот
         SetError( 0 );
         }
else if (...)
...
...
// и в конце программы
if (GetError()) > 0 ){
         // гдето необработанное исключение или ошибка номер...
         // просто сообщение об ошибке
        }

Alınma - bu da yanlış.

Kontrol edilmesi gereken işlem hatasıdır: yani, OrderSend (...)' in döndürdüğü ve ancak o zaman gerekirse, çağırdığı şeydir. GetLastError().

 
Herkes kendi yolunda çıldırır, sadece herkes gripten hastalanır. (Prostokvashino)
 
VladislavVG :


Evet, her şey doğru, istendiği gibi çalışıyor :) Ama kusura bakmayın, kodlarınıza baktım, orada tek bir GetLastError() çağrısı bulamadım... pencereye ilk uçan sinek uygarlığı yok edecek :)
 
vit46 :

Evet, her şey doğru, istendiği gibi çalışıyor :) Ama kusura bakmayın, kodlarınıza baktım, orada tek bir GetLastError() çağrısı bulamadım... pencereye ilk uçan sinek uygarlığı yok edecek :)
Ve hata işleme hakkında yazdığım yere bakın - forum konuları var;)