[Free] Async Procedures | Extension

Hello, I am using in my app Async Procedures extension of Abhijith_Dominic, but it seems not working well, I get the errors in the below attached pictures.
My suspect is this extension is not somehow compatible with other extensions: my asynchronously called procedure invokes indeed another extension to decode and display a picture incoming from Bluetooth connection as string Base64 encoded (see the last picture here attached). I remark that non-asynchronous version of my app runs fine.
Unfortunately, the topic about Async Procedures extension (Async Procedures | Extension | Free) has been closed, therefore I am going to open another topic to get help. A feedback from anybody, in particular from the extension author would be very appreciated.

Thanks all in advance.

Probably you can’t work with views in background.


You cannot manipulate images or UI async.

1 Like

Hi Sunny, thank you for your feedback.
Can you better explain your idea? Do you mean that VideoServerImage component can not be used by the asynchronous procedure? If so, the extension turns out to be a bit useless (no interaction with the components included in the screen would be possible)…

We call methods in async thread to do tasks in background without affecting main thread.
In above blocks you are setting view from an asycn task which can’t be done since

from asycn thread.
It can only work with non-visible (UI) components.


now moved to the original thread and reopened

Good morning all,
Before all: thank you, Taifun.
I modified my app as per the above advices, telling data Rx from Bluetooth action apart from UI manipulation: in the asynchronous procedure I am using another extension that creates a picture file from Base64 string and then I am going to manipulate the view in the UI within the main thread (see the code in the below attached picture). Unfortunately, I keep getting the same kind of error (something sounding like the error message reported in error2.jpg picture above).
So, as suggested by Sunny, it looks like Async Procedures extension does not allow much more than assigning/returning a value and performing an elaboration by using the strictly native AI2 components (asynchronous invoking of other extensions instances seems not possible), therefore this extension does not suit my needs.
Maybe I am wrong or I am missing something, so any eventual further suggestion is welcome.
Thank you all again.

I used Async procedure CallAfterDelay and it works nicely except that I get a Runtime Error as shown. Any idea why? It’s just annoying after every refresh.

1 Like

does it work, if you do not use it in the Screen.Initialize event? just a guess…

Hello all,

Can anybody tell me if this blocks could work? I am having an error poping up when trying to run the procedure. It works if the async block is not used, just the regular block from procedures. Thank you all.

1 Like

Here’s your answer.


Thanks man.

1 Like

I am getting this error
Why is this?

Can I know where is the source code?

Try searching on Github, Maybe you will get it there.

1 Like

The source code is somewhere on DropBox, I don’t remember the link but I have the java file which was uploaded there.
Funcall.java (8.8 KB)


This post was flagged by the community and is temporarily hidden.

A post was split to a new topic: Stop delay Procedure

Is the only way to manipulate components like chaning a text trough executing functions in call finish blocks with the help of collected variables in return values?

Calling synchronous procedure in executing asynchronous procedure won’t take effect in some well prepared configuration?