0

シリアル ポート経由で科学機器の制御に使用される .Net アプリケーションを開発しています。ユーザーが特定のアクションを「スクリプト化」できるようにする必要があります。たとえば、バルブを開く、X 秒待機する、xyz データを機器に送信するなどです。選択できるアクションは数十種類あり、さらにロジック/プログラム フロー (if ステートメント、goto など)。

ソフトウェアの以前の化身は、ユーザーが可能なアクションのリストから選択して、実行する一連のコマンドを徐々に構築する基本的な UI を使用していました。それは機能し、プログラマー以外には最適ですが、特に柔軟ではありません. また、エラーが発生した場合、正確な問題を報告したり、スクリプトのどこで発生したかを報告することは容易ではありませんでした。

書き換えのために、「本物の」スクリプト言語を使用するなど、より良い解決策を考え出そうとしています。プログラム フロー/ロジックは明らかに言語自体の一部であるため、さまざまなインストゥルメント アクションを公開/処理することだけに専念する必要があります。スクリプト言語は実行時エラーも改善しますが、インテリセンスはおまけです。

私が最初に考えたのは、.Net の「アクション」クラスをある種の COM オブジェクト モデルとして公開し、より多くのスクリプト言語 (VBScript、Python、Javascript?) を選択できるようにすることでした。それは古い技術です (そして、私が開発者としての長年にわたってなんとか避けてきたちょっとした黒魔術です)。どの言語をサポートする必要があるかについての要件はないため、C# と VB.Net もオプションです。

アプリでスクリプトを実行する方法について、いくつかのアイデアやヒントを探しています。スクリプト エディターをアプリに統合する必要はありませんが、それは素晴らしいことです。

4

1 に答える 1