protected FUserData: Longlnt;
Reserved for the TServerObject descendent writer. It is generally used to pass global data from the application server to the various server object. For example TTable or any other global data. Using FUserData is far better way of programming than using global variables.
FUserData is declared as a LongInt (32 bits). You can use it to store a pointer and use that pointer with appropriate casting. An example of use is to create a record with all global data, and pass the address of this record into FUserData. Define this record in a separate unit. So all TServerObject may access global data.