The actual LINCEnvironment object that you use, is an attribute of the LINCEnvironmentPooled object.
For example:
objLINC = objPooled.objLINC;
You then use the LINCEnvironment object (objLINC) in the usual way, with the following exception.
In your client, you should remember that the object you get from the pool might, or might not be connected and logged into your host application, so you must allow for this. (you might be the first one to access the object, in which case it is neither connected or logged in).
The easiest way to check this, is to use two Attributes of the LINCEnvironment object, IsConnected and IsLoggedIn.
If the attribute IsConnected is false, then your client needs to call the 'connect()' method on the LINCEnvironment object (as you normally would have).
If the attribute IsLoggedIn is false, (but IsConnected was true) then you still need to call the Hello() method (as you normally would have).
If both IsConnected and IsLoggedIn return true, then you can just do a getIspec and LoadIspec of the particular ispec you want (saving all the connect and login time).