Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Français - Português - 日本語 -

Please note that the recommended version of Scilab is 6.0.0. This page might be outdated.
See the recommended documentation of this function

Справка Scilab >> Java from Scilab > jinvoke_db

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がデフォルトで 有効になっていることです.
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Thu Oct 02 14:01:18 CEST 2014