1
Web Server - Ask For Help / Re: How to execute code once on Form Load?
« Last post by JohanR on Today at 04:21:44 AM »Hi,
Yes I think def the multi-tab is at play.
Think will try to make the meeting on Wed,
perhaps a live question and answer will help to show where my problem is, or my implementation is going wrong.
thanks for all your assistance
Johan
Yes I think def the multi-tab is at play.
Think will try to make the meeting on Wed,
perhaps a live question and answer will help to show where my problem is, or my implementation is going wrong.
thanks for all your assistance
Johan
2
Web Server - Ask For Help / Might Need Jane Fleming for help here!
« Last post by Richard I on September 26, 2026, 11:01:51 PM »Hi Jane,
You will have seen I have reported issues with the login Form's use of the Look up button failing.
Following this, I was concerned as to whether the JavaSscipt you kindly gave me might be contributing to the problem.
The lookup button is behavng properly on other forms not containing the JS
The diagnostic came from the LoginForm's lookup button press showing the working icon
and then nothing
I inspected the event in my Browser and that returned the following....
2jquery.nt-dialog.js:98 Uncaught TypeError: t.indexOf is not a function
at ntdialog.run (jquery.nt-dialog.js:98:
at ntdialog.push (jquery.nt-dialog.js:67:9)
at HTMLButtonElement.onclick (LoginForm:112:298)
ntdialog.run @ jquery.nt-dialog.js:98
ntdialog.push @ jquery.nt-dialog.js:67
onclick @ LoginForm:112
This is beyond my ability Jane , and I am hopeful your favour maybe extended
Cheers
Richard
C12.14000 NT 14.39
You will have seen I have reported issues with the login Form's use of the Look up button failing.
Following this, I was concerned as to whether the JavaSscipt you kindly gave me might be contributing to the problem.
The lookup button is behavng properly on other forms not containing the JS
The diagnostic came from the LoginForm's lookup button press showing the working icon
and then nothing
I inspected the event in my Browser and that returned the following....
2jquery.nt-dialog.js:98 Uncaught TypeError: t.indexOf is not a function
at ntdialog.run (jquery.nt-dialog.js:98:

at ntdialog.push (jquery.nt-dialog.js:67:9)
at HTMLButtonElement.onclick (LoginForm:112:298)
ntdialog.run @ jquery.nt-dialog.js:98
ntdialog.push @ jquery.nt-dialog.js:67
onclick @ LoginForm:112
This is beyond my ability Jane , and I am hopeful your favour maybe extended
Cheers
Richard
C12.14000 NT 14.39
3
Web Server - Ask For Help / Re: Look up button on a Login Form
« Last post by Richard I on September 26, 2026, 10:16:45 PM »Thanks Ron,
Yes its calling the Browse , but the browse is not on the LoginForm as it was, but is opening on the Index Page
The Hierarchy is IndexPage ->login Form
Richard
Yes its calling the Browse , but the browse is not on the LoginForm as it was, but is opening on the Index Page
The Hierarchy is IndexPage ->login Form
Richard
4
Web Server - Ask For Help / Re: Look up button on a Login Form
« Last post by rjolda on September 26, 2026, 03:56:32 AM »Hi Richard,
Might it be a C12 bug?
This seems like something you are going to have to debug. Maybe trace the browse that you are trying to open. Does the button actually call the browse and it gets stuck somewhere - maybe files not open or off screen? If the browse does open and try to run which stage is it stuck at? IF it does not run, then try re-doing the button on the Login form.
Ron
Might it be a C12 bug?
This seems like something you are going to have to debug. Maybe trace the browse that you are trying to open. Does the button actually call the browse and it gets stuck somewhere - maybe files not open or off screen? If the browse does open and try to run which stage is it stuck at? IF it does not run, then try re-doing the button on the Login form.
Ron
5
Web Server - Ask For Help / Re: How to execute code once on Form Load?
« Last post by rjolda on September 26, 2026, 03:48:05 AM »Hi Johan,
I think that Multi-tabs being checked ON is one of your problems.
From the Net Talk Development Book Version 4:
Ron
Browsers used to be a single window. Then they acquired tabs, and users could open multiple tabs at
one time, even to the same site. This is sort-of like an MDI child window in a desktop application, but
not quite.
This section described multi-tab support, how to turn it on, and what effects it will have on your
application.
Summary
? Turn on the feature in the web server, performance tab
? Note that Login, and Security information exists across all tabs.
How it Works
Users can, and sometimes do, open your web app in multiple tabs in their browser at the same time.
Because all tabs share a Session cookie, the server is unable to tell when a request comes from one tab,
or from some other tab, and hence activities on one tab can influence the "state" of the app in another
tab. This influence is usually unwelcome and can lead to strange behaviors, or in extreme cases data
corruption.
NetTalk 8 introduced Multi-Tab support which can be enabled in the WebServer procedure, Settings /
Performance Tab.
If this support is on then each tab is given a unique identifier, and requests from that tab include the
identifier. In this way the app can identify which tab is making a request, and hence keep the state in
one tab different to the state in another tab, so setting a session value in one tab will not set that value
in other tabs (See below for how to create cross-tab values).
The session itself is still shared. The following states are stored in the session itself, and NOT in the
session data queue. Thus if any of the following states change in one tab they will therefore change in all
tabs.
LoggedIn (yes or no)
The details of who is logged in are usually stored in the SessionData, and that SessionData will not
change. However the overall state (logged in / not logged in) will be consistent across all the tabs. If the
DEVELOPING WEB APPLICATIONS WITH NETTALK
Page | 101
user wishes to Login as 2 different users13 at the same time, in different tabs, then they would need to
login on one tab, open a new tab and login again with different credentials. As the programmer, you
should record who is logged in in SessionData and use the SessionData where applicable. Because each
tab has distinct session data the user will effectively be logged in twice. If they logout in any tab they will
be logged out in all tabs.
If you are logging login's and logouts by embedding code in the SetSessionLoggedIn,
ValidateLogin and/or NotifyDeleteSession then you need to be aware that you'll only get
one call to these methods, but in effect multiple logout's may be occurring at this point.
I think that Multi-tabs being checked ON is one of your problems.
From the Net Talk Development Book Version 4:
Ron
Browsers used to be a single window. Then they acquired tabs, and users could open multiple tabs at
one time, even to the same site. This is sort-of like an MDI child window in a desktop application, but
not quite.
This section described multi-tab support, how to turn it on, and what effects it will have on your
application.
Summary
? Turn on the feature in the web server, performance tab
? Note that Login, and Security information exists across all tabs.
How it Works
Users can, and sometimes do, open your web app in multiple tabs in their browser at the same time.
Because all tabs share a Session cookie, the server is unable to tell when a request comes from one tab,
or from some other tab, and hence activities on one tab can influence the "state" of the app in another
tab. This influence is usually unwelcome and can lead to strange behaviors, or in extreme cases data
corruption.
NetTalk 8 introduced Multi-Tab support which can be enabled in the WebServer procedure, Settings /
Performance Tab.
If this support is on then each tab is given a unique identifier, and requests from that tab include the
identifier. In this way the app can identify which tab is making a request, and hence keep the state in
one tab different to the state in another tab, so setting a session value in one tab will not set that value
in other tabs (See below for how to create cross-tab values).
The session itself is still shared. The following states are stored in the session itself, and NOT in the
session data queue. Thus if any of the following states change in one tab they will therefore change in all
tabs.
LoggedIn (yes or no)
The details of who is logged in are usually stored in the SessionData, and that SessionData will not
change. However the overall state (logged in / not logged in) will be consistent across all the tabs. If the
DEVELOPING WEB APPLICATIONS WITH NETTALK
Page | 101
user wishes to Login as 2 different users13 at the same time, in different tabs, then they would need to
login on one tab, open a new tab and login again with different credentials. As the programmer, you
should record who is logged in in SessionData and use the SessionData where applicable. Because each
tab has distinct session data the user will effectively be logged in twice. If they logout in any tab they will
be logged out in all tabs.
If you are logging login's and logouts by embedding code in the SetSessionLoggedIn,
ValidateLogin and/or NotifyDeleteSession then you need to be aware that you'll only get
one call to these methods, but in effect multiple logout's may be occurring at this point.
6
Web Server - Ask For Help / Re: How to execute code once on Form Load?
« Last post by JohanR on September 26, 2026, 12:49:14 AM »Hi,
This is what I've found,
but don't have enough knowledge on how to manage or control it, or even to confirm 100%.
If multi TAB true
Page is opened or loaded from the the address bar or via an email link etc...
no tabid part of the GET for first request and this triggers a GET /NewTabID, which then triggers a second
SESSIONID=fCFz0FqUHQBltVRRb5WhZyfrmKd1tE
The same page from a menu item, includes the TABID and does not trigger GET /NewTabID
SESSIONID=fCFz0FqUHQBltVRRb5WhZyfrmKd1tE; x-TabID=7cf99jil
If multi TAB false, all works fine
Hoping for some ideas here, or point where I go wrong.
One possible way is to query the TABid and knowing whether it's required or not?
But as I mentioned, not sure if that is best way.
thanks
Johan
This is what I've found,
but don't have enough knowledge on how to manage or control it, or even to confirm 100%.
If multi TAB true
Page is opened or loaded from the the address bar or via an email link etc...
no tabid part of the GET for first request and this triggers a GET /NewTabID, which then triggers a second
SESSIONID=fCFz0FqUHQBltVRRb5WhZyfrmKd1tE
The same page from a menu item, includes the TABID and does not trigger GET /NewTabID
SESSIONID=fCFz0FqUHQBltVRRb5WhZyfrmKd1tE; x-TabID=7cf99jil
If multi TAB false, all works fine
Hoping for some ideas here, or point where I go wrong.
One possible way is to query the TABid and knowing whether it's required or not?
But as I mentioned, not sure if that is best way.
thanks
Johan
7
Web Server - Ask For Help / Re: How to execute code once on Form Load?
« Last post by JohanR on September 25, 2026, 09:26:40 PM »Hi Jane
Thanks for reply.
That is the confusing thing , p_stage is the same in the log
Took the web1 example app and added a memory form with trace in those embeds,
If multi tab support is set to true, then those embeds execute twice and I can't see which flag/stage/event to check for 1st time
I must be missing something,
solution at the moment is to switch off multi tab support,
until I get a definitive check to use.
thanks
Johan
Thanks for reply.
That is the confusing thing , p_stage is the same in the log
Took the web1 example app and added a memory form with trace in those embeds,
If multi tab support is set to true, then those embeds execute twice and I can't see which flag/stage/event to check for 1st time
I must be missing something,
solution at the moment is to switch off multi tab support,
until I get a definitive check to use.
thanks
Johan
8
Web Server - Ask For Help / Re: Server becoming temporarily non-responsive
« Last post by seanh on September 25, 2026, 05:37:07 PM »Are you using the IMDD? That did have a slight problem with memory that would cause odd behavior. It showed up for me mostly as a secwin issue.
This has been corrected at some point, I just can't remember when.
There was also a very small memory leak in the window event system for some versions of C11, It only leaked like 5 bytes or something and so took many events to cause a problem. But a heavy webserver would do that. That I believe is fixed in C12
This has been corrected at some point, I just can't remember when.
There was also a very small memory leak in the window event system for some versions of C11, It only leaked like 5 bytes or something and so took many events to cause a problem. But a heavy webserver would do that. That I believe is fixed in C12
9
Web Server - Ask For Help / Look up button on a Login Form
« Last post by Richard I on September 25, 2026, 04:41:21 PM » I have a LoginForm with a look up button on a local variable pointing to a data table
I am calling the LoginForm from the Index page "Login" button.
Despite working in earlier versions,It will not open the Browse, although I can see it working briefly on button press.
I have examined and compared this version with older ones, and can see no template difference between them.
I have deleted and recompiled the CLW INC and OBJ files.
The subject browse is being called from the login form
On a different browse and form in the same app I can successfully, use the look up button.
Please help !
Thanks
Richard NT 14.38 C12 4000
I am calling the LoginForm from the Index page "Login" button.
Despite working in earlier versions,It will not open the Browse, although I can see it working briefly on button press.
I have examined and compared this version with older ones, and can see no template difference between them.
I have deleted and recompiled the CLW INC and OBJ files.
The subject browse is being called from the login form
On a different browse and form in the same app I can successfully, use the look up button.
Please help !
Thanks
Richard NT 14.38 C12 4000
10
Recent Posts