NetTalk Central
NetTalk Web Server => Web Server - Ask For Help => Topic started by: JohanR on November 25, 2025, 04:33:26 AM
-
Hi,
Sure I know this but it's buried in the year end brain fog of too much screen time and not enough down time....
Think I might even have asked this somewhere, sometime, but cannot find the answer. :)
How to pass a session variable to a function.
As I understand session variables are stringtheory objects, so if I have a function like
MyFunction(stringtheory tmpstr)
How do I pass a session variable into that function without using intermediary strings
thanks
Johan
-
Hi,
Sorry had to add, this is how I am doing currently.
my_tmp_st stringtheory
MyFunction(my_tmp_st)
p_web.SSV('session_var',my_tmp_st.GetValue())
Johan
-
Pass the p_web object as one of your parameters.
Here's a prototype example from one of my procedures where p_web is the first of two parameters I'm passing.
(NetWebServerWorker p_web,LDAPParametersGroupType pParms)
-
Hi Jane
Thanks , I do pass p_web into other functions and have that working when it's functions that work with p_web and session variables,
but in this case it's a function that only receives a stringtheory object and then populates the data.
It's unaware of which specific session variable to load or unaware that it's a NTWS
I have it working with a temp stringtheory object, was just looking at it and thinking there was a way to reference the session variable as a stringtheory obect and then pass that in.
thanks
Johan
-
I don't understand, Johan, but I'm glad you do ;)
If you pass p_web into a function, then within that function you can do the regular p_web.GSV('blah') or p_web.SSV('blah','blork')
As for the structure of the session data, you might look through netwebsessions.inc at the various queue types and netwebsessions.clw for how they're being accessed.
-
HI Johan,
I have an NT App and used session data all over the place. I added an API which talks to an outside kiosk. After a few iterations I found that the API had ITS OWN SESSION ID and it was NOT the same SESSION ID as the app... interesting, but the remote kiosk interacts with the API on its own thread and has its own session values. So, the p_web session data that I passed to the API procedure from my NT app did not work ( since the API procedure was using its own Session ID. ) After I thought about it a little, it made sense. I had to pass my data into the API via a few fields in a record that was shared by both the API and NT app. It was not worth trying to dig out Session Data by Session ID from the QUEUE.. but, I learned that p_web has scope to it.
Ron