I just confirmed with a fresh project.  The changes are there.  I'm not
sure why you're not picking them up.  Is your project using the libs at the
default location (lib/CodenameOne.jar and JavaSE.jar) or have you adjusted
the classpath for the project.

Steve

On Wed, Jan 3, 2018 at 10:02 AM, <[email protected]> wrote:

> Hi Steve
>
> I already did the project libs update, but didn't help. My library date is
> 30/12/2017, when I do the update it says "Your proyect Libs are up to
> date", we are blocked on the development of our App to IOS.
>
> Please help us.
>
> Best Regards
> Kandy
>
> On Wednesday, January 3, 2018 at 5:44:23 PM UTC+1, Steve Hannah wrote:
>
>>
>> On Wed, Jan 3, 2018 at 8:35 AM, <[email protected]> wrote:
>>
>>> Hello:
>>>
>>>     How can we use that new interface? There's no documentation and our
>>> current lib doesn't expose said addJSCallback() yet (and updating c1 libs
>>> didn't help).
>>>
>> You need to update your project libs.  It should be there (just tested on
>> a project here).  (I.e. Project Properties > Update Project Libs .. not
>> "update cn1libs")
>>
>>
>>> Also, is the fix already available in the build servers?
>>>
>> No.  It will be up in the next build server update on Friday.
>>
>> Steve
>>
>>
>>>
>>> Kind regards,
>>>     Kandy.
>>>
>>>
>>> On Wednesday, January 3, 2018 at 2:47:04 PM UTC+1, Steve Hannah wrote:
>>>>
>>>> This looks like a race condition that has been there for a while.  I
>>>> have just committed a fix for it here
>>>> https://github.com/codenameone/CodenameOne/commit/783ac28284
>>>> 09aa747103a35001b4886e24944484
>>>>
>>>> With the last update, however, the com.codename1.javascript package is
>>>> now deprecated in favour of a new async API that is incorporated directly
>>>> into the BrowserComponent class.  I recommend migrating over to this new
>>>> API for new code, as it will produce much better performance (no hidden
>>>> invokeAndBlock under the hood - except in xxxAndWait() methods).
>>>>
>>>> Using the new API, your code would become:
>>>>
>>>> bc.addJSCallback("window.checkfoxClickedCallback ={setChecked:
>>>> function(){ callback.onSuccess(null)}}", r->{
>>>>     Log.p("->checkboxClickedCallback.setChecked()");
>>>>     contexto.mostrarMensaje("checkboxClickedCallback.setChecked()");
>>>> });
>>>> bc.addJSCallback("window.okButtonClickedCallback = {showMap:
>>>> function() { callback.onSuccess(null)}}", r->{
>>>>      Log.p("->okButtonClickedCallback.showMap()");
>>>>      contexto.mostrarMensaje("okButtonClickedCallback.showMap()");
>>>> });
>>>>
>>>> Notice, with this new syntax, you reference the java callback
>>>> explicitly in the javascript code via the "callback" variable, which, in
>>>> Javascript, contains 2 methods: onSuccess(arg), and onError(message, code).
>>>>
>>>> Steve
>>>>
>>>>
>>>>
>>>>
>>>> On Wed, Jan 3, 2018 at 5:09 AM, <[email protected]> wrote:
>>>>
>>>>> Hello:
>>>>>
>>>>>     Since the last codename1 libary update we've been having problems
>>>>> with the BrowserComponent on iOS. We've narrowed down the problem to the
>>>>> callback registration process (which gets executed on the BrowserComponent
>>>>> onLoad callback). We register two functions, but only the second one can 
>>>>> be
>>>>> invoked from javascript. The first one gets registered ok (we can see its
>>>>> code from the javascript side) but fails to execute on iOS (in Android and
>>>>> the simulator works fine). We tried a lot of permutations, and different
>>>>> argument lengths for both functions, but the only difference we see is the
>>>>> registration order. If we switch the registration order, we can only 
>>>>> invoke
>>>>> the other one (whichever gets registered last).
>>>>>
>>>>> /*
>>>>> * Registramos el callback JS de valor cambiado del checkbox "No volver
>>>>> a mostrar este asistente".
>>>>> */
>>>>> JSObject checkboxClickedCallback = (JSObject)
>>>>> javascriptContext.get("{}");
>>>>> checkboxClickedCallback.set("setChecked", new JSFunction() {
>>>>> public void apply(JSObject self, Object[] args) {
>>>>> Log.p("->checkboxClickedCallback.setChecked()");
>>>>> contexto.mostrarMensaje("checkboxClickedCallback.setChecked()");
>>>>>
>>>>> }
>>>>> });
>>>>> javascriptContext.set("window.checkboxClickedCallback",
>>>>> checkboxClickedCallback);
>>>>>
>>>>> /*
>>>>> * Registramos el callback JS de click en el botón "OK".
>>>>> */
>>>>> JSObject okButtonClickedCallback = (JSObject)
>>>>> javascriptContext.get("{}");
>>>>> okButtonClickedCallback.set("showMap", new JSFunction() {
>>>>> public void apply(JSObject self, Object[] args) {
>>>>> Log.p("->okButtonClickedCallback.showMap()");
>>>>> contexto.mostrarMensaje("okButtonClickedCallback.showMap()");
>>>>>
>>>>> }
>>>>> });
>>>>> javascriptContext.set("window.okButtonClickedCallback",
>>>>> okButtonClickedCallback);
>>>>>
>>>>>     Please help, as it's impacting our current production code.
>>>>>
>>>>> Kind regards,
>>>>>      Kandy
>>>>>
>>>>> --
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "CodenameOne Discussions" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>>> an email to [email protected].
>>>>> Visit this group at https://groups.google.com/grou
>>>>> p/codenameone-discussions.
>>>>> To view this discussion on the web visit
>>>>> https://groups.google.com/d/msgid/codenameone-discussions/49
>>>>> 3a9217-0a4a-44b5-aede-974096f652d4%40googlegroups.com
>>>>> <https://groups.google.com/d/msgid/codenameone-discussions/493a9217-0a4a-44b5-aede-974096f652d4%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>> .
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Steve Hannah
>>>> Software Developer
>>>> Codename One
>>>> http://www.codenameone.com
>>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "CodenameOne Discussions" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> Visit this group at https://groups.google.com/grou
>>> p/codenameone-discussions.
>>> To view this discussion on the web visit https://groups.google.com/d/ms
>>> gid/codenameone-discussions/0aa6820b-d038-4a3f-82ad-c45fb4c6
>>> d5e6%40googlegroups.com
>>> <https://groups.google.com/d/msgid/codenameone-discussions/0aa6820b-d038-4a3f-82ad-c45fb4c6d5e6%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>
>>
>> --
>> Steve Hannah
>> Software Developer
>> Codename One
>> http://www.codenameone.com
>>
> --
> You received this message because you are subscribed to the Google Groups
> "CodenameOne Discussions" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> Visit this group at https://groups.google.com/
> group/codenameone-discussions.
> To view this discussion on the web visit https://groups.google.com/d/
> msgid/codenameone-discussions/f7466bae-c35d-4baf-a776-
> ecc9e13f65ea%40googlegroups.com
> <https://groups.google.com/d/msgid/codenameone-discussions/f7466bae-c35d-4baf-a776-ecc9e13f65ea%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
> For more options, visit https://groups.google.com/d/optout.
>



-- 
Steve Hannah
Software Developer
Codename One
http://www.codenameone.com

-- 
You received this message because you are subscribed to the Google Groups 
"CodenameOne Discussions" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
Visit this group at https://groups.google.com/group/codenameone-discussions.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/codenameone-discussions/CAGOYrKVMWeTV_%3DsaFvSUXcuo7XL37pByv3SFTL6_ayKF0-kEXA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to