0

次のような要件があります: FB::JSAPIAuto から継承するユーザー定義クラスを初期化したかったのですが、プラグインに依存しないように作成したかったのです。

JSでは、以前はこれを行っていました::

plugin().CreateJSAPIObject("someParameter");
//in order to initialize the c++ object with a value..It was successfully compiling..

私がやりたいことは、独立したC++オブジェクトプラグインを作成することです

だからJSで>>

UserDefinedJSAPIClassPtr obj=new UserDefinedJSAPIClass();
obj->SetMember1="This is Member 1";
//not necessarily using new keyword
plugin().DoSomethingWithObject(obj);

boost::clipp ライブラリ.. およびその他の多数のフレームワークについて知りましたが、すべてがルート JSAPI に強く結び付けられているため、困難を感じています。

私の疑問>>これは可能ですか? 後で私の目的>> PS:: DoSomethingWithObject(FB::variant& object) は JSAPI オブジェクト (JS 側で設定) のメンバーを取得し、それらを処理します

タキシリアンの答えの後に編集:: この場合、JS側では、

 function AnotherJavascriptfunction(member1)
        {
        member1='2';
        }
var UserClass=function(color,settings){}

var userObject=new UserClass('Red',AnotherJavascriptfunction);
 plugin().DoTheChanges(userObject);

FB 側で member1. にアクセスするにはどうすればよいですか? 設定のメンバーを取得するには、どのメソッドを探す必要がありますか

よろしく、プラティック

4

1 に答える 1

2

JavaScript から JSAPIPtr を作成することは絶対に不可能ですが、通常の JavaScript オブジェクトを作成して JSAPI メソッドに渡すことはできます。これは FB::JSObjectPtr タイプになり、Invoke、GetProperty、SetProperty などを使用してメソッド/プロパティを呼び出すことができます。

于 2013-09-30T16:15:04.520 に答える