私はTelescope
と呼ばれる大きなパブリッククラスを持っています。私は新しいフォーム(form1.cs
)を作成しました。クラスが持つ公の空白のいくつかを呼び出したいと思います。C#フォームから既存のクラスを呼び出す
私はその後、私はすべてのメソッドを参照することができ、クラスに
Telescope controls = new Telescope(); controls.CommandString("Gs#",true);
を初期化する形でこのような何かを行うが、クラスがすでに初期化されているとして、それが実行に失敗し、そこにあります既存のシリアルポート接続が進行中であるため、シリアルポート接続がないことを報告します。
助けが必要ですか? 新しいフォームから既存のメソッドを使用するにはどうすればよいですか?私はそれが動作(望遠鏡クラスである)Driver.csでのCommandStringを使用する場合
望遠鏡クラスは
public string CommandString(string command, bool raw)
{
CheckConnected("CommandString");
serialPort.ClearBuffers();
serialPort.Transmit(command);
return serialPort.ReceiveTerminated("#");
}
Driver.cs
です。************** Exception Text **************
ASCOM.NotConnectedException: CommandString
これは機能します。今あなたの望遠鏡のクラスで正確に何が起こり、それがなぜ機能しないのかは、あなたがコードを公開しない限り知ることができます。 –
@IvanIčin彼はシリアルポートに接続しようとしています...これはC#の範囲外です。しかし、通信ポートは一度に1つの接続しか維持できません。 –
待って、私はシリアルポートに再度接続したくありません。私はちょうど既存の接続を利用したい。投稿を編集させてください – evans