レッツゴーSetLastError!!!! - ページ 2

 
vit46:


いや......こう書くんだ。


この場合、それも間違っている。

のように、各関数は失敗すると false または -1 を返すことがわかります。

を使うんですね。

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

MT4でこの機能がないのは寂しいです、どうしたらいいですか?

GetLastError()関数は、その値を読み込むとリセットされます。必要な操作の前に余分な空白のリードを挿入してください。

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

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

この場合、それも間違っている。

のように、各関数は失敗すると false または -1 を返すことがわかります。

を使うべきでしょう。


本当にその通り! 思いつきませんでした...。というのも、私のようにもっと良い方法があるからです :) 私は、独自のエラーコードを 生成する複雑な関数を書くことができます。
 
Roger:

GetLastError()関数は、その値を読み込んだ後、リセットされる。必要な操作の前に、追加の空のリードを挿入します。


それが、毎回必要な操作の前に読み出しを入れるのはちょっと...。必要な操作はすべてできているので、ライン上でGetLastErrorを する必要があります:)
 
vit46:

それが、毎回必要な操作の前に読み出しを入れるのはちょっと...ということなんです。必要な操作はすべてできているので、ライン上でGetLastErrorをする必要があります:)

それでは、新しい機能をどのように動作させたいのかがわかりません。時間や他のサインによって、どのように更新されるのでしょうか?
 
特殊変数 last_error の読み書きを行いたい。エラーを処理、ゼロに設定 - 処理しない -エラーコードが プログラムの末尾に到達し、そこで検出されます。
 
vit46:


いや......こう書くんだ。

OrderSend(...);

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

悪気はないのですが、これも間違っています。

監視する必要があるのは操作エラーです:つまり、OrderSend(...)が何を返すか、そして必要であれば、 GetLastError()を呼び出すだけです。

 
みんなそれぞれおかしくなって、インフルエンザでみんな一緒になってしまうだけ。(プロストクバシノ)
 
VladislavVG:


その通り、意図したとおりに動作しています :)しかし、私はあなたのコードに目を通しましたが、GetLastError()の呼び出しは 見つかりませんでした。窓を飛び越える最初のハエが文明を破壊する :)
 
vit46:

その通り、意図したとおりに動作しています :)しかし、私はあなたのコードに目を通しましたが、GetLastError()の呼び出しは見つかりませんでした。窓を飛び越える最初のハエが文明を破壊する :)
また、エラー処理について 書いたフォーラムスレッドもあります;)