コードエディタ
概要と主要な概念
[コードエディタ]ウィンドウでは、FlexSim全体のピックリストとトリガーのコードを編集できます。このウィンドウはフローティングウィンドウ(デフォルト)として使用することも、メインのFlexSimウィンドウに任意の構成でドッキングすることもできます。タブまたはタイトルバーをクリックし、ドッキングウィンドウアイコン上にドラッグするだけです。
FlexSim全体にボタンが表示されます。このアイコンをクリックすると[コード編集]ウィンドウが開き、そのピックリストまたはトリガーのコードを編集できます。または、右クリックメニューの(ツリーウィンドウのような)オプションの中から、[探索]、[コードとして]の順に選択して、[コード編集]ウィンドウを開くこともできます。
コードエディタを開くと、ヘッダーステートメントが次のように表示されることがあります。
treenode current = ownerobject(c);
treenode item = parnode(1);
コードウィンドウ内で、コードをFlexScriptとして解釈するか、C++としてコンパイルするか(この場合はモデルをコンパイルする必要があります)を指定できます。また、ボタンを押してFlexScript構文を確認することもできます。
コードビルダー
コードエディタでコードを編集するか、ピックリストフィールドに値を入力すると、ライブラリ(左ペイン)がコードビルダーのリストの表示に変わります。
これらのコードビルダーをコードエディタまたはピックリストフィールドにドラッグすると、正しい形式のコマンドが表示されます。タブキーを使用して、テンプレートコードの各コメントセクション(/*"labelname"*/)を選択します。
フィールドに入力して、コードビルダーリストをフィルタリングすることもできます。
DLL機能
特定のフィールドをDLLから関数にアクセスするように指定することもできます。この場合、テキストとしてコードを指定するのではなく、DLLへのパスと呼び出す関数の名前を指定します。このようなDLLを作成するには、特別なVisual C++プロジェクトを使用する必要があります。このプロジェクトは、ユーザーコミュニティで入手できます。コードフィールド自体は、2つの文字列をそれぞれ引用符で囲んで指定する必要があります。最初の文字列はDLLへのパスです。2番目の文字列は関数の名前です。DLLラジオボタンを押すとメッセージが表示され、2つの文字列を指定するテンプレートを作成できます。
コードのロック
ビューの下部には、「ロック」チェックボックスもあります。このチェックボックスは、FlexScriptコードまたはC++コードにのみ適用します。フィールドのコード状態をFlexScriptまたはC++にロックできます。メインの[ビルド]メニューには、C++またはFlexScriptのすべてのコードを作成する2つのオプションがあります。このオプションでは、モデラーは使いやすいFlexScript(コンパイルすることなく、FlexScriptで編集するとすぐにコードを実行します)と、実行速度の速いC++(コンパイルされているため、FlexScriptよりも速く実行します)の両方を使用できます。モデルビルディングの段階でFlexScriptを使用できるため、コードを記述すると、そのコードはすぐに解釈されます。その後、モデルを実行する準備ができたら、[ビルド] > [すべてのコードをC++にする]オプションを選択してコンパイルし、C++の速度で実行できます。ただし、記述したコードの一部はその言語固有の機能を使用するため、FlexScriptからC++(またはその逆)に変換できない場合があります。この場合は、 をクリックすると、指定したフィールドのコード状態がロックされます。メニューオプションの1つを選択した場合もこれは重要です。すべてのコードをC++にするか、すべてのコードをFlexScriptにします。
プロパティ
コードエディタには、次のプロパティがあります。
タブバーには、現在のオブジェクト、編集中のトリガーとピックリストが表示されます。
アイコン | 説明 |
---|---|
このヘルプページを表示します。 | |
すべてのテンプレートコードを削除します。テンプレートコードはピックリストとトリガーにあり、次のような形式になります。/***popup:Conditional*/および/** \nCondition: *//***tag:expression*//**/ | |
コンパイルエラーの構文を確認します。 | |
現在のコードをFlexscriptに切り替えます。 | |
現在のコードをC++コードに切り替えます。C++コードを編集するには、モデルをコンパイルする必要があります。 | |
現在のコードをリンクされたDLLに切り替えます。 | |
コードの切り替え状態をロックします。これは、コードの編集をロックするのではなく、Flexscript、C++、DLLの切り替えをロックします。これは、プロパティエディタでコードが自動でFlexscriptに切り替わるときに、オブジェクトトリガーをC++コードにする場合に必要です。 | |
サンプラーを使用すると、オブジェクトの参照、ラベルの設定、値の取得などを行うコードをコードエディタに挿入できます。 |