2017-10-23 17 views
0

Microsoft Dynamics Rmsのアドオンを作成しています。私は簡単なテンダーボタンを作成し、このボタンは正常に動作します。はいいいえダイアログボックスを追加したいが、いくつか問題がある。Yes Noダイアログボックスの作成

それは私がメッセージボックス

public class Addin : Addin_Interface 
{ 
    public bool Process(QSRules.SessionClass mySession) 
    { 
     if (MessageBox.Show("Do you want to Tender €10", "Tender Amount", 
      MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) 
     { 
      SendKeys.Send("{F12}{DOWN}10.00{{ENTER}"); 
      return true; 
      // return false; 
     } 
    } 
} 

が含まいけない場合、私は

public bool Process(QSRules.SessionClass mySession) 

この行にエラーを処理上の赤いエラーラインを持っている作品は、すべてのコードパスが値を返すと言います。以下はエラー

Visual Studio - not all code paths return a value

+0

(あなたがこれを書くことができる方法はたくさんあります)...私はそれを書くだろうかです。 –

答えて

2

の画像は、この問題を解決するためにif文あなたがあなたの後

return false 

を書くことができます。あなたの問題は、ユーザーがメッセージボックスで「いいえ」を押すと、コードがブール値を返さないということです。しかし、あなたはあなたのメソッドに戻り型 "bool"を宣言しました。そのため、メソッドはすべての可能なコードパスにboolを返さなければなりません。

だからあなたのコードは次のようになります。

public class Addin : Addin_Interface 
{ 
    public bool Process(QSRules.SessionClass mySession) 
    { 
     if (MessageBox.Show("Do you want to Tender €10", "Tender Amount", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) 
     { 
      SendKeys.Send("{F12}{DOWN}10.00{{ENTER}"); 
      return true; 

     } 
     return false; 
    } 
} 

}

+0

はい、Visual Studioのエラーを取り除きました.DLLをコンパイルできました。しかし、Dynamics RMSでは動作しません。はいいいえダイアログボックスが表示されますが、はいを押すと表示されます。 COMオブジェクトRMSAddintesttenderを処理しようとしましたが失敗しました。不明なエラーが発生しました。以前の記事で述べたように、このダイアログボックスがなくてもうまく動作します。はいいいえ – user2491438

0

可能なすべての条件に値を返す必要があり無効でない戻り値の型を持つメソッド。メソッドは、ユーザーが「はい」をクリックしたときにのみ値を返します。ユーザーが「いいえ」をクリックした場合、ifの内部は実行されず、戻り値はどこにあります。ここで

は `if`条件が真であるときにのみ返すためだそれ

public bool Process(QSRules.SessionClass mySession) 
{ 
    var response = MessageBox.Show("Do you want to Tender €10", 
     "Tender Amount", MessageBoxButtons.YesNo, 
     MessageBoxIcon.Question) == DialogResult.Yes; 
    if (response) 
     SendKeys.Send("{F12}{DOWN}10.00{{ENTER}"); 
    return response; 
} 
関連する問題