動的バインディングを使用して、実行時にサービスを選択するか、または変数のバインド先サービスを変更することができます。
変数を動的にバインドするには、@BindService プロパティーではなく、ServiceLib EGL ライブラリー内の関数を使用します。 このオプションは、Rich UI ハンドラーまたは関連ライブラリーから専用サービスへのアクセスには使用できません。
<webBinding interface="interfaces.SpeechTranslator"
name="TranslateSpanish" port="SpanishPort"/>
<webBinding interface="interfaces.SpeechTranslator"
name="TranslateGerman" port="GermanPort"/>
これらの項目に 1 つずつ、合計 2 つの変数を作成してバインドすることができます。あるいは、項目が共有するインターフェース・パーツに基づく変数を 1 つ作成することができます。この後、ServiceLib.bindService() システム関数を使用して、使用するサービスに変数をバインドできます。myTranslator SpeechTranslator;
myTranslator = ServiceLib.bindService("TranslateSpanish");
この場合、myTranslator 変数が、TranslateSpanish という名前の項目にバインドされます。mySpanishString string = myTranslator.translate
("This sentence is in Spanish");
myTranslator = ServiceLib.bindService("TranslateGerman");
myGermanString string = myTranslator.translate
("This sentence is in German");