LoginScreen: neither async nor sync event

Hi all,
I have been using this component set for a while now and quite like it. We have finished a rather complex app and now need to build a login page for this application.

Here comes my challenge:
In order to have a proper error message I added a region that gets updated and transitioned to if the login fails. This way I can show different error messages with just one screen. This also means that the async event of the "login" button on the login region is used.
If the login is ok I could either use the "error" region to say the login was successful and am now loading the data. But how can I transition to a next page once the loading process is done? I guess I would need a button to trigger an async event again.
Or I could simply skip the "error" region if the login was successful (which would probably expected) but this means for the login button I can not use the async event but need a sync one in order to use "ActivePage" of the PageTransition.

Any ideas how to solve this in a way a user would expect the app to react?

Thanks a lot for any ideas and feedback!

Best regards,
Stefan

It is indeed currently unfortunately not supported to change the ActivePage property value asynchronously.

It is on our feature-request list to implement this in a future version of the IWPageTransition control.

As a workaround I would suggest to use a sync event and use the ActivePage to go to the required form.

Thanks for your reply, Bart!

As much as I understand I can't change labels and captions when using the sync link, correct? That would mean that I'd need one region per error message rather then just changing the text on one region.So see the challenge? I need the async event for changing the content on the region and at the same time the sync event to be able to use ActivePage. But clearly I can use one or the other. Looks like I'm trapped here...

You should be able to change property values for any control and/or region that is placed on the same form using a synchronous event.


When using async events it is required to set the RenderInvisibleControls of the form and all it's regions to true to be able to change property values of controls on other regions that are not visible. (provided that the control supports updating the property value asynchronously)

I have retested this here and changing an IWLabel.Caption is working as expected.

Can you please explain exactly how to reproduce this issue or preferably provide a ready to run sample project that demonstrates the issue?
Sample projects can be sent via email to mailto:info@tmssoftware.com


Bart Holvoet2012-05-15 08:52:38

Hi Bart,
I actually had this issue again and now figured out what caused this.

I'm not sure if this is caused by Intraweb or your components - but I'm sure you will be able to find out. Here the sample:
I have a IWImageFile on an iPhoneRegion which should be updated at runtime. This works fine as long as the propertty "Align" of the IWImageFile is not set to "alTop" at DesignTime.

I now have the IWImage at the same region and apply the "Align" property at run-time and then it works fine.

Took some time to figure this out and it does not really hurt since this workaround solves it - but still it might be good to check and eventually resolve this.

Best regards,
Stefan

We'll investigate this.