My C# code calls a program in AS400 with cwbx API. Now the question is : is that call synchronous? I mean, upon returning to my code, how can I be sure the called program has its job done?
It seems that the called program does its job but sometimes not fast enough, so that's why I suspect that maybe the call is asynchronous. But I don't know how cwbx.dll works. I checked the help document http://public.dhe.ibm.com/systems/power/docs/systemi/v5r4/en_US/rpc1.pdf but nothing is said about synchronous or asynchronous calls.
cwbx.Program program = new cwbx.Program();
program.LibraryName = Main.GetBIBAS400();
/* ... */
program.Call(parameters);
If the call is synchronous, all is good for me. And it might be so as the API structure is quite simple. But if it's asynchronous, what can I code to wait for the result of my RPG program?
Yes, the call is synchronous.
The document you linked to has nothing to do with the Active X components on a client PC.
As part of the older IBM i Access for Windows install or the newer Access Client Solution - Windows Application Package you should have the Programmer's Toolkit option installed.