- Scilabヘルプ
 - Java from Scilab
 - 入門 - 第1ステップ
 - 入門 - 第2ステップ
 - jallowClassReloading
 - jarray
 - jautoTranspose
 - jautoUnwrap
 - jcast
 - jcompile
 - jconvMatrixMethod
 - jcreatejar
 - jdeff
 - jdisableTrace
 - jenableTrace
 - jexists
 - jgetclassname
 - jgetfield
 - jgetfields
 - jgetinfo
 - jgetmethods
 - jimport
 - jinvoke
 - jinvoke_db
 - jnewInstance
 - jnull
 - jremove
 - jsetfield
 - junwrap
 - junwraprem
 - jvoid
 - jwrap
 - jwrapinchar
 - jwrapinfloat
 - new
 
Please note that the recommended version of Scilab is 2026.0.0. This page might be outdated.
See the recommended documentation of this function
jinvoke_db
JavaダイレクトバッファによりJavaオブジェクトのメソッドを 呼び出す
呼び出し手順
ret = jinvoke_db(object, methodName [, varName_1 [, varName_2...]])
パラメータ
- object
 _JObjまたは_JClass型のmlistまたはScilab変数
- methodName
 メソッド名を指定する文字列
- varName_i
 引数用のScilab変数の名前を指定する文字列
説明
指定したオブジェクトのmethodNameという名前の (静的またはそれ以外の)Javaメソッドをコールします. varNameiという名前のScilab変数のポインタを取得し, ダイレクトバッファが作成されます. 注意: ダイレクトバッファ上にリファレンスを保持する べきではありません. Scilabメモリに直接アクセスするため,何らかの理由で Scilab変数を移動したり破棄したりする場合, 意図しない読み書きが発生するリスクがあります! 問題を回避するには,各バッファのリミットに 0を設定してください.
例
c = jcompile("TestDirectBuffer",["import java.nio.DoubleBuffer;"; "public class TestDirectBuffer {"; "public static void increment(DoubleBuffer x) {"; "for (int i = 0; i < x.capacity(); i++) x.put(i, x.get(i) + 1);"; "}"; "}"]) a = 1:10000; b = a + 1; // only used to compare with the following... jinvoke_db(c, "increment", "a"); and(a==b) jremove c;
参照
- jinvoke — Javaオブジェクトのメソッドを呼び出す
 
履歴
| バージョン | 記述 | 
| 5.5.0 | 関数が導入されました. 'JIMS'モジュールに基づきます. JIMSモジュールとの動作上の主な違いは, jautoUnwrapがデフォルトで 有効になっていることです. | 
| Report an issue | ||
| << jinvoke | Java from Scilab | jnewInstance >> |