NetTalk Central

Author Topic: Pass a Session Variable as a parameter?  (Read 205 times)

JohanR

  • Sr. Member
  • ****
  • Posts: 406
    • View Profile
    • Email
Pass a Session Variable as a parameter?
« 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








JohanR

  • Sr. Member
  • ****
  • Posts: 406
    • View Profile
    • Email
Re: Pass a Session Variable as a parameter?
« Reply #1 on: November 25, 2025, 04:47:44 AM »
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




Jane

  • Sr. Member
  • ****
  • Posts: 420
  • Expert on nothing with opinions on everything.
    • View Profile
    • Email
Re: Pass a Session Variable as a parameter?
« Reply #2 on: November 25, 2025, 08:02:24 AM »
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.

Code: [Select]
(NetWebServerWorker p_web,LDAPParametersGroupType pParms)

JohanR

  • Sr. Member
  • ****
  • Posts: 406
    • View Profile
    • Email
Re: Pass a Session Variable as a parameter?
« Reply #3 on: November 25, 2025, 08:20:43 AM »

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





Jane

  • Sr. Member
  • ****
  • Posts: 420
  • Expert on nothing with opinions on everything.
    • View Profile
    • Email
Re: Pass a Session Variable as a parameter?
« Reply #4 on: November 25, 2025, 03:27:08 PM »
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.


rjolda

  • Sr. Member
  • ****
  • Posts: 427
    • View Profile
    • Email
Re: Pass a Session Variable as a parameter?
« Reply #5 on: November 26, 2025, 12:36:25 PM »
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