Blog
Work Around for WebControl.Page Returning Nil
I’m posting a work around to the feedback issue discussed in this forum post, 29484 Page Property Of Control On WebToolbarContainer Returns Nil.
Simply download this Xojo module and add it to your web project. Then call FindPageTD instead of Page in code where Page is returning Nil.
FindPageTD has to search all of the controls on all of the pages for the session. A typical Xojo web app is not going to have thousands of open pages with thousands of controls on each page in a single session, so performance should not be an issue. Still, I would call FindPageTD once in a function and store the result in a variable. I wouldn’t repeatedly call it like you might call Page.
I’m releasing this under the MIT License.
Xojo 2013r4.1 is working great!
Just a note for Web Custom Control users that Xojo 2013r4.1 includes the fix for Feedback item 29775. jQueryFileUpload works fine with 2013r4.1, as do the rest of the controls.
The Xojo team probably doesn’t hear this enough, so: thank you for your responsiveness and all your hard work on Xojo.
Fixed in 2013r4.1: jQueryFileUpload Requires Xojo 2013r2 For Now
This issue has been fixed in Xojo 2013r4.1. jQueryFileUpload is working correctly with 2013r4.1.
Update 9/23/2013: Here’s the feedback report: feedback://showreport?report_id=29775
I believe that this only affects the jQueryFileUpload control and that the rest of the controls are working properly under r3. So if you do not use the jQueryFileUpload control your project should be fine in r3.
Original Post
I have to recommend keeping any projects which use Web Custom Controls in Xojo 2013r2 for now. Version 2013r3 has a bug in the special URL / WebRequest mechanism whereby certain input types from a POST are dropped. Some of the JavaScript controls POST data back to the server and are affected by this. jQueryFileUpload is a prime example. File data is sent via a POST and because of the bug it cannot upload files in 2013r3.
I’m not sure if there’s any work around for this. It looks like it will simply require a Xojo fix. Please note that this has nothing to do with the wcc SDK vs. the new WebSDK. It’s a problem for the controls on either.
A Note About jCanvas & JSONItem Performance
While preparing and testing Web Custom Controls 1.3.1 I noticed a significant drop in jCanvas animation performance. I’ve traced this issue back to the JSONItem class. (more…)
Web Custom Controls 1.3.1 Released
Web Custom Controls 1.3.1 is available now. Licensed users can download the update using the link and username/password from their original purchase email. If you are using Xojo 2013r1 please be sure to follow the instructions at the top of the Release Notes page. There is an additional change you have to make to your project to support the WebSessionContext bug work around in 1.3.1.
Below is an overview of the changes: (more…)
Pause In Updates
I know there has been a long pause in updates to this product. Licensed users receive free updates for one year from their date of purchase. Because of the pause in development, I’m adding 6 months to the license of every current user.
Version 1.3.1 will be out July 1st with some general and Xojo specific bug fixes, and new control updates will follow shortly. The controls should all be moved to the new Xojo WebSDK sometime in August or September. This won’t make a large difference in the controls themselves or how you use them, but it’s important in moving forward and taking full advantage of future Xojo releases.
Thank you for your patience!
Sessions and WebSessionContext on Xojo
Xojo 2013r1 has a bug in the WebSessionContext object: feedback://showreport?report_id=27067
As a result, you cannot expect the Session function to work and return a WebSession when called in a Web Custom Control event. You can, however, access the session for the event from the control. Simply call: Me.EventSession
Unfortunately this can result in other subtle bugs. For example, calling certain methods on an implicit instance page from a wcc event can result in an exception. Sometimes you can get around this by calling it via Me.EventSession (i.e Me.EventSession.MyPage.DoSomething). Sometimes you have to spin the code off into a WebTimer.
Most of the custom control and demo code makes use of Me.EventSession. However, I did inadvertently use Session in a few places. This will be fixed in the next release, 1.3.1. This should be out by July 1st.
This bug is marked as fixed so there’s a good chance the fix will appear in Xojo 2013r2. If this bug causes you any major headaches, I would recommend using Real Studio 2012r2.1 until I can upload the 1.3.1 fix and/or until Xojo 2013r2 is out.
Update 6/27 – I’m testing a fix that restores the functionality of Session in wcc events, and it seems to be working well. So it looks like 1.3.1 will fully resolve this issue. Again, this is going to be fixed in Xojo any way in release r2, but I don’t want wcc users to have to wait if possible.
Update 7/3 – bad news is that my original work around resulted in a severe performance hit. Good news is that I have another work around with no performance hit. But it’s too late in the evening (um…early in the morning) to finish testing and uploading 1.3.1. I will do this later today.