Login ProductsSalesSupportDownloadsAbout |
Home » Technical Support » Elevate Web Builder Technical Support » Support Forums » Elevate Web Builder General » View Thread |
Messages 1 to 6 of 6 total |
TElement.HandleLocalChanges issue |
Tue, Aug 15 2017 9:26 AM | Permanent Link |
Matthew Jones | I have a complex form with sub-forms etc. I am doing an update of them, which may include killing some off. At some point in a BeginUpdate/EndUpdate pair finish, it is failing in TElement.HandleLocalChanges
if ($t.requiresparentlayout(tempchanges)) $t.parentlayoutchange(); if ($t.requireschildlayout(tempchanges)) $t.childlayoutchange($t); if (($t.telement_fautosize.tautosize_fwidth || $t.telement_fautosize.tautosize_fheight) && $t.requireslayout(tempchanges)) $t.layoutchange(tempchanges); The $t.telement_fautosize in the second from last line there is null, so it raises an exception. From the lines further above, I can see that it checked this value previously, so it was not null before, but is now. Presumably part of the layout change killed it all off. However, that then leaves this all crashing. I've tried to fix this by monitoring an "initialised" member, but that is failing, and the $t values in the debugger show every item to be null or false. How can I detect that an element has been killed off here? -- Matthew Jones webui_telement.$p.telement_handlelocalchanges (my.js:12086) webui_telement.$p.endupdate (my.js:14255) webui_telement.$p.dochanged (my.js:13614) webui_telement.$p.setbounds (my.js:12994) webui_telement.$p.telement_setheight (my.js:12231) webctrls_tcontrol.$p.setheight (my.js:23524) fdetailedit_tfrmdetailedit.$p.tfrmdetailedit_setheight1 (my.js:65796) fdetailedit_tfrmdetailedit.$p.tfrmdetailedit_frmdetaileditsize (my.js:65402) (anonymous) (my.js:265) webctrls_tcontrol.$p.dosize (my.js:23858) webctrls_tcontrol.$p.dispatchevent (my.js:23631) webui_telement.$p.triggerevent (my.js:14138) webui_telement.$p.triggercontrollerevent (my.js:14156) webui_telement.$p.handlechanges (my.js:13582) webui_telement.$p.handleupdatechanges (my.js:13532) webui_telements.$p.endupdates (my.js:11351) webui_telement.$p.handleupdatechanges (my.js:13531) webui_telement.$p.endupdate (my.js:14256) webui_telement.$p.dochanged (my.js:13614) webui_telement.$p.parentlayoutchange (my.js:13695) webui_telement.$p.telement_handlelocalchanges (my.js:12083) webui_telement.$p.endupdate (my.js:14255) webui_telement.$p.dochanged (my.js:13614) webui_telement.$p.setbounds (my.js:12994) webui_telement.$p.telement_setheight (my.js:12231) webctrls_tcontrol.$p.setheight (my.js:23524) fdetailedit_tfrmdetailedit.$p.tfrmdetailedit_setheight1 (my.js:65796) fdetailedit_tfrmdetailedit.$p.tfrmdetailedit_frmdetaileditsize (my.js:65402) (anonymous) (my.js:265) webctrls_tcontrol.$p.dosize (my.js:23858) webctrls_tcontrol.$p.dispatchevent (my.js:23631) webui_telement.$p.triggerevent (my.js:14138) webui_telement.$p.triggercontrollerevent (my.js:14156) webui_telement.$p.handlechanges (my.js:13582) webui_telement.$p.handleupdatechanges (my.js:13532) webui_telements.$p.endupdates (my.js:11351) webui_telement.$p.handleupdatechanges (my.js:13531) webui_telement.$p.endupdate (my.js:14256) webui_telement.$p.dochanged (my.js:13614) webui_telement.$p.parentlayoutchange (my.js:13695) webui_telement.$p.telement_handlelocalchanges (my.js:12083) webui_telement.$p.endupdate (my.js:14255) webui_telement.$p.dochanged (my.js:13614) webui_telement.$p.setbounds (my.js:12994) webui_telement.$p.telement_setheight (my.js:12231) webctrls_tcontrol.$p.setheight (my.js:23524) fdetailedit_tfrmdetailedit.$p.tfrmdetailedit_setheight1 (my.js:65796) fdetailedit_tfrmdetailedit.$p.tfrmdetailedit_frmdetaileditsize (my.js:65402) (anonymous) (my.js:265) webctrls_tcontrol.$p.dosize (my.js:23858) webctrls_tcontrol.$p.dispatchevent (my.js:23631) webui_telement.$p.triggerevent (my.js:14138) webui_telement.$p.triggercontrollerevent (my.js:14156) webui_telement.$p.handlechanges (my.js:13582) webui_telement.$p.handleupdatechanges (my.js:13532) webui_telements.$p.endupdates (my.js:11351) webui_telement.$p.handleupdatechanges (my.js:13531) webui_telement.$p.endupdate (my.js:14256) webui_telement.$p.dochanged (my.js:13614) webui_telement.$p.parentlayoutchange (my.js:13695) webui_telement.$p.telement_handlelocalchanges (my.js:12083) webui_telement.$p.endupdate (my.js:14255) webui_telement.$p.dochanged (my.js:13614) webui_telement.$p.setbounds (my.js:12994) webui_telement.$p.telement_setheight (my.js:12231) webctrls_tcontrol.$p.setheight (my.js:23524) fdetailedit_tfrmdetailedit.$p.tfrmdetailedit_setheight1 (my.js:65796) fdetailedit_tfrmdetailedit.$p.tfrmdetailedit_frmdetaileditsize (my.js:65402) (anonymous) (my.js:265) webctrls_tcontrol.$p.dosize (my.js:23858) webctrls_tcontrol.$p.dispatchevent (my.js:23631) webui_telement.$p.triggerevent (my.js:14138) webui_telement.$p.triggercontrollerevent (my.js:14156) webui_telement.$p.handlechanges (my.js:13582) webui_telement.$p.handleupdatechanges (my.js:13532) webui_telements.$p.endupdates (my.js:11351) webui_telement.$p.handleupdatechanges (my.js:13531) webui_telement.$p.endupdate (my.js:14256) webui_telement.$p.dochanged (my.js:13614) webui_telement.$p.parentlayoutchange (my.js:13695) webui_telement.$p.telement_handlelocalchanges (my.js:12083) webui_telement.$p.endupdate (my.js:14255) webui_telement.$p.dochanged (my.js:13614) webui_telement.$p.setbounds (my.js:12994) webui_telement.$p.telement_setheight (my.js:12231) webctrls_tcontrol.$p.setheight (my.js:23524) fdetailedit_tfrmdetailedit.$p.tfrmdetailedit_setheight1 (my.js:65796) fdetailedit_tfrmdetailedit.$p.tfrmdetailedit_frmdetaileditsize (my.js:65402) (anonymous) (my.js:265) webctrls_tcontrol.$p.dosize (my.js:23858) webctrls_tcontrol.$p.dispatchevent (my.js:23631) webui_telement.$p.triggerevent (my.js:14138) webui_telement.$p.triggercontrollerevent (my.js:14156) webui_telement.$p.handlechanges (my.js:13582) webui_telement.$p.handleupdatechanges (my.js:13532) webui_telements.$p.endupdates (my.js:11351) webui_telement.$p.handleupdatechanges (my.js:13531) webui_telements.$p.endupdates (my.js:11351) webui_telement.$p.handleupdatechanges (my.js:13531) webui_telements.$p.endupdates (my.js:11351) webui_telement.$p.handleupdatechanges (my.js:13531) webui_telements.$p.endupdates (my.js:11351) webui_telement.$p.handleupdatechanges (my.js:13531) webui_telements.$p.endupdates (my.js:11351) webui_telement.$p.handleupdatechanges (my.js:13531) webui_telements.$p.endupdates (my.js:11351) webui_telement.$p.handleupdatechanges (my.js:13531) webui_telements.$p.endupdates (my.js:11351) webui_telement.$p.handleupdatechanges (my.js:13531) webui_telements.$p.endupdates (my.js:11351) webui_telement.$p.handleupdatechanges (my.js:13531) webui_telements.$p.endupdates (my.js:11351) webui_telement.$p.handleupdatechanges (my.js:13531) webui_telement.$p.endupdate (my.js:14256) webctrls_tcontrol.$p.endupdate (my.js:24258) foutline_tfrmoutline.$p.activateresources (my.js:68731) |
Tue, Aug 15 2017 12:14 PM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. timyoung@elevatesoft.com | Matthew,
<< I have a complex form with sub-forms etc. I am doing an update of them, which may include killing some off. >> Are you freeing or removing controls in response to size changes ? Tim Young Elevate Software www.elevatesoft.com |
Tue, Aug 15 2017 3:15 PM | Permanent Link |
Matthew Jones | > Are you freeing or removing controls in response to size changes ? > I think probably yes. Or rather, the begin update is started, then lots changes (delete form and create) and then the end update. -- Matthew Jones |
Wed, Aug 16 2017 10:11 AM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. timyoung@elevatesoft.com | Matthew,
<< I think probably yes. Or rather, the begin update is started, then lots changes (delete form and create) and then the end update. >> I would start by commenting out any control deletions/frees first, and then see when it works. That will tell you which one is problematic. Tim Young Elevate Software www.elevatesoft.com |
Wed, Aug 16 2017 10:31 AM | Permanent Link |
Matthew Jones | Tim Young [Elevate Software] wrote:
> I would start by commenting out any control deletions/frees first, and then see when it works. That will tell you which one is problematic. Not going to be possible I don't think, hmm, unless I queue them, but that would cause a ripple later. I guess I shall have to turn off the update. Or I have to get very clever. Hmm... -- Matthew Jones |
Thu, Aug 17 2017 1:50 PM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. timyoung@elevatesoft.com | Matthew,
<< Not going to be possible I don't think, hmm, unless I queue them, but that would cause a ripple later. I guess I shall have to turn off the update. Or I have to get very clever. Hmm... >> Have you tried just logging the deletions using LogOutput and seeing which one is the last deletion before the exception ? Tim Young Elevate Software www.elevatesoft.com |
This web page was last updated on Friday, December 6, 2024 at 05:39 PM | Privacy PolicySite Map © 2024 Elevate Software, Inc. All Rights Reserved Questions or comments ? E-mail us at info@elevatesoft.com |