を呼び出した大規模な公開クラスがありTelescope
ます。新しいフォーム ( form1.cs
) を作成しました。クラスが持つ public void の一部を呼び出したいと思います。
クラスを初期化するためにフォームでこのようなことをします
Telescope controls = new Telescope();
controls.CommandString("Gs#",true);
その後、すべてのメソッドを確認できますが、クラスが既に初期化されており、既存のシリアル ポート接続が進行中であるため、実行に失敗します。そのため、シリアル ポート接続がないと報告されます。
何か助けはありますか?新しいフォームから既存のメソッドを使用するにはどうすればよいですか?
Telescope クラスは Driver.cs にあります
public string CommandString(string command, bool raw)
{
CheckConnected("CommandString");
serialPort.ClearBuffers();
serialPort.Transmit(command);
return serialPort.ReceiveTerminated("#");
}
Driver.cs (望遠鏡クラスがある場所) で CommandString を使用すると、機能します。form1.cs からは機能しません
例外があります:
************** Exception Text **************
ASCOM.NotConnectedException: CommandString