![]() |
RegisterCallBack - Printable Version +- Atozed Forums (https://www.atozed.com/forums) +-- Forum: Atozed Software Products (https://www.atozed.com/forums/forum-1.html) +--- Forum: IntraWeb (https://www.atozed.com/forums/forum-3.html) +---- Forum: English (https://www.atozed.com/forums/forum-16.html) +----- Forum: IntraWeb General Discussion (https://www.atozed.com/forums/forum-4.html) +----- Thread: RegisterCallBack (/thread-3029.html) |
RegisterCallBack - Xenogall - 02-17-2023 I'm struggling to get my callback to work each time a page is loaded. It always works the first time I create the page, but the callback does not work if I make the page a second time. In my HTML I have a script to call a function when the page loading has completed. [font=Consolas, "Courier New", monospace] <script defer> ajaxCall("pageLoadedEvent", ""); </script>[/font] In my application I register the callback in the form's OnCreate WebApplication->RegisterCallBack("pageLoadedEvent", PageLoadedEvent); The function PageLoadedEvent is called when the page has loaded. However, if I release this form and then create it again (e.g. return to login page and then login again), the callback does not work. I've tried using the UnregisterCallback n the form's OnDestroy WebApplication->UnregisterCallback(PageLoadedEvent); but it doesn't seem to make any difference. If I have the ServerController's RestartExpiredSession = true, the PageLoadedEvent can be called for a form that no longer exists, i.e. a previous form that has now been released. This crashes my application. If I have the ServerController's RestartExpiredSession = false, the PageLoadedEvent isn't called when I make the form for a second time. I'm using an old version of IW (15.0.17) as I can't upgrade until I can remove all the CGDevTools from my application. If there's not way to fix this in the version of IW I am using, I'd be happy with a way of releasing the form, such that when I recreate it, I can register the callback to the new form. Thanks, Richard |