In a WebApp you should only use global variables, regular properties and raw file buffers (which are themselves global) for things which either don't change at run time - handles to singleton objects like ghoWebApp or ghoApplication are examples - or within the scope of a single server call.

The latter is harder to be sure about (especially if you are quite new to webapp programming): if you have a method (function or procedure) which calls another method (and so on...), then it is OK to use regular properties to share data between them (indeed global variables would also technically be OK in that context, but globals are evil - just avoid them!), rather than having to pass a whole mass of arguments (so-called "tramp data").

In general, if not sure, use Web Properties and then WebSet and WebGet them. If you need them widely visible, make them properties of the oWebApp and refer to them as WebSet pxFoo of ghoWebApp / WebGet pxFoo of ghoWebApp. If you don't want them to be visible on the client use the meta-tags { WebProperty=Server } or { WebProperty=ServerSession } above their declarations.

Mike