アプリケーションの現在のDataTable親愛なるコミュニティ、
あなたの助けと多くの検索と反復により、私は今、私の最初のJMPアプリケーションのまとめに近づいています。
私はまだいくつかの点で苦労しています、そのために誰かが簡単な解決策を提案するでしょう;):
- Dialog1スクリプトの終わりで、ユーザーが選択したデータテーブルを開いています
OnNext1 = Function( {},
file_path = FilePath << GetText();
If ( file_path != "",
//IST Text File
dt = Open(
file_path,
Columns(...)
...
);
...
CurrentDataTable( dt );
Dialog2 << CreateInstance( dt );
)- しかし、Dialog2に到達したときにCurrentDataTableが正しく設定されることはありません。
- [ファイルパス]フィールドに入力して[次へ]を押すと表示されます。
Dialog2 Tiltle = ^ APPNAME- ^ TABLENAME
テーブル名、または別のプリロードされたDataTable名が表示されない:( 
- この次の問題は、おそらく前の問題で修正されるでしょう。
- Dialog2スクリプトの終わりで、指定された文字列で始まるすべての列をDialog2列リストボックスに追加します。
- 確かに問題#1のために、現在は必死に空のままです
- さらに、次のエラーが発生します。
- Sendは、 'Send'、ColList1 << / * ### * / Background Color(2147483647)/ * ### * /のアクセスまたは評価でスクリプト可能なオブジェクトを22回期待します
Sendは、 'Send'、ColList1 << / * ### * / Set Data Type( "numeric")/ * ### * /のアクセスまたは評価でスクリプト可能なオブジェクトを3回期待します
Sendは、 'Send'、ColList1 << / * ### * / Get Items / * ### * /のアクセスまたは評価でスクリプト可能なオブジェクトを期待します
- Dialog2で何が起こっても、「OK」を押すと、モジュール「Report1」で使用される計算されたカスタム分位変数に関連して、次のエラーが発生します。
- 無効なマトリックストークン。
行69列41:... les((Percent1 / 100)、[►(Percent1 / 100)、(Perc .. ..
データ表スクリプティングRe:アプリケーションの現在のDataTableデータテーブル参照を変数(この例ではdt)に保持し、常にdt:col(など)を使用して列を参照します。 現在のデータテーブルに依存しないでください。現在のデータテーブルは、ユーザーが任意のテーブルをクリックすると、場合によっては新しいウィンドウが開いたときに変更されます。
エラー " Send Expects Scriptable Object 「それ自体をよりよく説明することができます。 @audrey_shull 。 <<演算子は送信演算子です。 左側はオブジェクトであり、右側はオブジェクトが処理するメッセージである必要があります。
myobject << message( ... );
このエラーは、左側がメッセージを受け入れるオブジェクト(スクリプト可能なオブジェクト)ではないことを意味します。 「myobject」はあなたが期待するものではありません。 試してみてください
show(myobject);
or
show(type(myobject));
何が起こっているのかを知るために。
Re:アプリケーションの現在のDataTableありがとうマーク、
- 「Dialog1」スクリプトの最後を詳しく見ると、「dt」参照を「Dialog2」に渡していることがわかります。これは、コードで明示的に使用しています。
- CurrentDataTableコマンドではなく、これも「 「Dialog2」タイトルフィールドの「^ TABLENAME」グローバル参照。
- 「^ APPNAME- ^ dt」を試しましたが、「^ dt」が生の文字列として表示されます

- また、「TABLENAME = dt;」を追加しようとしました。 「Dialog2」「OnModuleLoad」にありますが、Dialog2ウィンドウのタイトルは何も変更されていません:TABLENAMEは空のままです
- 「スクリプトオブジェクト」エラーを処理しているので、「Dialog2」のColListオブジェクトが明らかにnullであり、アプリの起動時にテーブルがまだ開いていないことに関連していると思われます。
- これを回避するには、スクリプトで列リストボックスを動的に作成する必要があると思います。
乾杯!