こんにちは、みんな、
JMPクラスについて質問があります。 カスタム クラスを使用して、カスタム (SQL) リクエストのインターフェイスとしてインスタンスを作成しています。 これらのクラスには、名前空間、ウィンドウ、ボタンなどが含まれます。 それはかなりうまく機能しますが、これらのインスタンス内で実行したい一般/グローバルクラスがいくつかあります。
グローバル クラスのダミー サンプル:
New Namespace("BASICS",
{
BASIC_FUNCTION = Function({A, B},
C = A * B;
Print(C);
Return(C);
);
}
);
これは送信ボタンのハンドル関数です。 THIS_WNウィンドウとボタンを含むクラスです。
NSは、このクラス内の名前空間です。
HANDLE_SUBMIT = Function({THIS_WN},
THIS_WN:GET_WINDOW << Show Window(0);
THIS_WN:NS:A = 2;
THIS_WN:NS:B = 3;
THIS_WN:NS:CMD = JSL Quote(
Local Here(
Include(Get Path Variable("ADDIN_HOME(~ my AddIn ~)") || "LIB\BASICS.jsl");
Namespace("$NS$"):RESULT = BASICS:BASIC_FUNCTION(Namespace("$NS$"):A, Namespace("$NS$"):B);
Print(Namespace("$NS$"):RESULT);
Namespace("$NS$"):RESULT = Namespace("$NS$"):RESULT + 1;
Print(Namespace("$NS$"):RESULT);
Window("$WN$") << Show Window(1);
);
);
THIS_WN:NS:CMD = Substitute(THIS_WN:NS:CMD, "$NS$", THIS_WN:NS << Get Name);
THIS_WN:NS:CMD = Substitute(THIS_WN:NS:CMD, "$WN$", THIS_WN:GET_WINDOW << Get Window Title);
Eval(Parse(THIS_WN:NS:CMD));
Print("HERE");
//CASES
//X = 1;
//Print(THIS_WN:NS:CMD);
);コマンドを実行すると、sql/datatable の結果を取得できます。 ローカルの here セクション内のウィンドウも制御できます。 ただし、コマンドを評価した後は、他に何もできません。 「//CASES」以降のすべての例は機能せず、このクラス内に定義された変数が存在しないことがわかります。
「ここのローカル」セクションの後に「クラスに戻る」方法はありますか?
よろしくお願いします !
@D_G質問に対する返答がなくて申し訳ありません。 カスタム クラスは比較的新しいものであり、その使用法に精通している人はほとんどいません。 私は (JSL 内で) クラスを扱ったことはありませんが、もっと学びたい JSL トピックのリストには入っていました。 あなたが何をしようとしているのかを調べて、さらに詳しい情報が得られるかどうかを確認します。