Login ProductsSalesSupportDownloadsAbout |
Home » Technical Support » Elevate Web Builder Technical Support » Support Forums » Elevate Web Builder General » View Thread |
Messages 1 to 7 of 7 total |
Asynchronous AJAX |
Thu, Mar 14 2013 8:11 AM | Permanent Link |
Matthew Jones | I totally get the asynchronous requirement, and am using a state-machine to manage
things. However, trying to sort an issue on the iPhone where webcore_tobjectlist.$p.setcount is causing an error due to a "null" reference makes me wonder if there is a problem with multiple AJAX calls at the same time. Is there an issue with that? Or can I have multiple calls going on at the same time with abandon? Basically, I currently have a TTimer which will initiate two types of calls to the server. They are separately managed, so could overlap in any way. They also control themselves so that if a call is in progress it cannot call the same call again. It generally doesn't seem to be causing a problem, but I wonder if it might actually be so. /Matthew Jones/ |
Thu, Mar 14 2013 9:02 AM | Permanent Link |
Raul Team Elevate | Are you using TServerRequestQueue to serialize the requests or just
multiple independent TServerRequest instances ? Either way though there should be no reason for multiple requests not to work as most modern browsers usually allow 6+ concurrent requests (old IE might allow 2). Raul On 3/14/2013 8:11 AM, (Matthew Jones) wrote: > I totally get the asynchronous requirement, and am using a state-machine to manage > things. However, trying to sort an issue on the iPhone where > webcore_tobjectlist.$p.setcount is causing an error due to a "null" reference makes > me wonder if there is a problem with multiple AJAX calls at the same time. Is there > an issue with that? Or can I have multiple calls going on at the same time with > abandon? > > Basically, I currently have a TTimer which will initiate two types of calls to the > server. They are separately managed, so could overlap in any way. They also control > themselves so that if a call is in progress it cannot call the same call again. It > generally doesn't seem to be causing a problem, but I wonder if it might actually > be so. > > /Matthew Jones/ > |
Thu, Mar 14 2013 9:42 AM | Permanent Link |
Matthew Jones | > webcore_tobjectlist.$p.setcount is causing an error due to a "null"
> reference This is only happening on the iPhone FWIW. Hmm, and seems very related to updates of a TListBox while one has tapped on it. There must be something in the DOM that the iPhone 5 breaks. My Touch is fine, as are all the other browsers. I did think I'd stopped it with a try/except when updating the listbox, but it happened again. More digging follows. /Matthew Jones/ |
Thu, Mar 14 2013 9:56 AM | Permanent Link |
Matthew Jones | > Are you using TServerRequestQueue to serialize the requests or just
> multiple independent TServerRequest instances ? I don't think I'm using either. I am using the RemObjects code, and I haven't a clue how that works! Given it is working fine on everything except my iPhone (I must try my iPad), I suspect it is something else. /Matthew Jones/ |
Thu, Mar 14 2013 10:44 AM | Permanent Link |
Matthew Jones | The actual line the error is reported on is actually a curly brace. This made me
wonder if it might not be the EWB code at all, so I am now looking at the RemObjects code, which does have code at that line. And a quick test later, and bingo! Now, what I can't understand is why the last line of this block fails with a "'null' is not an object" error when the first line tests for just that! More digging to come. ---------- if (this.AJAX == null) { return false; } else { this.onSuccess = onSuccessFunction || function () { }; this.onError = onErrorFunction || function () { }; var that = this; this.AJAX.onreadystatechange = function onreadystatechange() { ---------- /Matthew Jones/ |
Thu, Mar 14 2013 11:10 AM | Permanent Link |
Matthew Jones | I experimented with only one call at a time, in case the RO code was not re-entrant.
The issue can still occur. Poop. /Matthew Jones/ |
Thu, Mar 14 2013 12:27 PM | Permanent Link |
Matthew Jones | Well, I mentioned it to my friend who does Javascript, and he pointed me at
http://developer.apple.com/library/ios/#documentation/AppleApplications/Reference/Sa fariWebContent/DebuggingSafarioniPhoneContent/DebuggingSafarioniPhoneContent.html which shows how to connect to your Mac (you do have one don't you?) and debug Javascript. And bingo, it shows that the line is not the function definition, but the content. I shall be raising this with RemObjects. The line at about 1421 which is like this: this.AJAX.onreadystatechange = function onreadystatechange() { if (that.AJAX.readyState == 4) { needs to be this.AJAX.onreadystatechange = function onreadystatechange() { if (that.AJAX != null) { // MJ if (that.AJAX.readyState == 4) { All still seems to work. /Matthew Jones/ |
This web page was last updated on Tuesday, December 10, 2024 at 04:57 AM | Privacy PolicySite Map © 2024 Elevate Software, Inc. All Rights Reserved Questions or comments ? E-mail us at info@elevatesoft.com |