0
private voidからStringクラスへの通信に問題があります。コードは以下の通りである:上記のコードではprivate voidからStringクラスへのbooleanを取得
public partial class mainForm : Form
{
bool host = false;
string HostName = "";
string HostName1 = "192.168.0.30";
string HostName2 = "192.168.0.31";
String SendCommand(String Command)
{
if (host == false)
HostName = HostName1;
else if (host == true)
HostName = HostName2;
//code that uses Hostname to toggle switch, which does work
}
private void btnProgramEther_Click_1(object sender, EventArgs e)
{
host = true;
SendCommand("turn switch on");
}
}
、文字列SendCommand(文字列コマンド)で変更していない真にホストを設定します。私がこれをすると...
String SendCommand(String Command)
{
host = true;
if (host == false)
HostName = HostName1;
else if (host == true)
HostName = HostName2;
//code that uses Hostname to toggle switch, which does work
}
...変更を見て、うまく動作します。私はボタンをpublic voidに変更しようとしましたが、Stringクラスはpublic String SendCommandに変更されましたが、それはうまくいきませんでした。私はまた、文字列クラスの前にボタンのクリックコードを置くが、それも動作しませんでした。私はSendCommand( "turn switch on")から何をすべきか分かりません。ブール値の変更が表示されないため、HostName1ではスイッチをオンにしますが、HostName2ではオンにしません。 ありがとうございます。
デバッガを使用して、 'btnProgramEther_Click_1'にブレークポイントを設定し、' SendCommand'を呼び出します。 –
あなたが提示したコードでは、あなたが提示していることはできません。私は誰もこの振る舞いを再現できないと思っています([this fiddle](https://dotnetfiddle.net/jVqE8k)を参照)。例 - それは動作します!)。 [mcve]を作成できますか? –
@CharlesMager問題は、2つのリレーボードをコンピュータに接続して、リレーをオン/オフするためにC#を使用していることです。そのため、2つの異なるIPアドレスがあります。私はブーリアンホストを使用して、どのボードと通信しているかを切り替えています。 – Canucksctr7