Mit einem dynamischen Binding können Sie entweder zur Laufzeit einen Service auswählen oder den Service ändern, an den eine Variable gebunden ist.
Zum dynamischen Binden einer Variablen müssen Sie anstelle der Eigenschaft @BindService Funktionen in der EGL-Bibliothek ServiceLib verwenden. Diese Option steht für den Zugriff auf einen dedizierten Service über einen Rich-UI-Handler oder eine zugehörige Bibliothek nicht zur Verfügung.
<webBinding interface="interfaces.SpeechTranslator"
name="TranslateSpanish" port="SpanishPort"/>
<webBinding interface="interfaces.SpeechTranslator"
name="TranslateGerman" port="GermanPort"/>
Sie könnten zwei Variablen erstellen und binden, eine für
jeden dieser Einträge. Alternativ wäre die Erstellung einer Variablen möglich, die auf dem Schnittstellenabschnitt
basiert, der von den Einträgen gemeinsam genutzt wird. Anschließend können Sie die Systemfunktion
ServiceLib.bindService() verwenden, um die Variable an den gewünschten Service zu binden:myTranslator SpeechTranslator;
myTranslator = ServiceLib.bindService("TranslateSpanish");
In
diesem Fall ist die Variable myTranslator nun an den Eintrag TranslateSpanish gebunden.mySpanishString string = myTranslator.translate
("This sentence is in Spanish");
myTranslator = ServiceLib.bindService("TranslateGerman");
myGermanString string = myTranslator.translate
("This sentence is in German");