The cVDFInternetSession class is considered private. All WBOs talk to this
by sending messages to the ghInetSession handle but this entire interface is
is private. All public access is defined in the WBOs and in the cWebApp object
 Construct_Object() Construct_Object()- Integer hErr hErr
- Integer pbVerboseErrors pbVerboseErrorswhen errors are reported should technical info be provided. If set
to true you get Error#, Line#, File# and Field# 
- Integer pbQueueErrors pbQueueErrorsWhen True, VDF errors are queued. This should be set
indirectly with ErrorQueueStart and ErrorQueueEnd 
- Integer pbAllErrorsToEventLog pbAllErrorsToEventLogIf true, ALL errors are recorded in the event log. This
is good for debugging. If false only appropriate error
are event logged 
- Integer pbAllErrorsToLocal pbAllErrorsToLocalIf true, errors are directed to the VDF error handler. This
means an error will pop up on your VDF program. Normally not
wanted for the web, but this can be useful when debugging at
the server 
- Integer pbAllErrorsToHtml pbAllErrorsToHtmlIf false, no errors will be sent to the HTML client.
Normally, this should be true. Might be useful when debugging 
- Integer peHtmlOutput peHtmlOutput
- String psHtmlOutputFileName psHtmlOutputFileName
- integer pbFirstTimeOpen pbFirstTimeOpen
- Integer pbPrivateInLogEvent pbPrivateInLogEventused to prevent recursion in LogEvent method 
- oFileIds : cFileIdsSet
- oWpoIds : cWpoIdsSetlist of wbos (for asp) 
- oWsoIds : cWpoIdsSetlist of wsos (for web-service) 
 
 PreSetFileRecordID(Integer lpDispParams) PreSetFileRecordID(Integer lpDispParams)- needed for backwards compatibility (private) 
- Integer Search_Wpo_ID(String sWebBPO) Search_Wpo_ID(String sWebBPO)// when OCX is created, set up error redirection. We do this as
// late as possible. (Occurs when activate sent to panel)
// This used to be called PostCreateOCX
Procedure OnCreate
Forward send OnCreate
End_Procedure
Procedure Search_Wpo_ID string sWebBPO Returns Integer
returns: Object ID of BPO, zero if not found 
 Set_Wpo_Data(String sWpoName Integer iWpoID) Set_Wpo_Data(String sWpoName Integer iWpoID)- Add WPO to the list 
- Integer Wpo_ID(Integer iItem) Wpo_ID(Integer iItem)return Id of WBP object for item 
- integer Wpo_Count() Wpo_Count()get number of WBP items 
- Integer Search_Wso_ID(String sWebBPO) Search_Wso_ID(String sWebBPO)Same as above, but used for web services!
Procedure Search_Wpo_ID string sWebBPO Returns Integer
returns: Object ID of BPO, zero if not found 
 Set_Wso_Data(String sWpoName Integer iWpoID) Set_Wso_Data(String sWpoName Integer iWpoID)- Add WPO to the list 
- Integer Wso_ID(Integer iItem) Wso_ID(Integer iItem)return Id of WBP object for item 
- integer Wso_Count() Wso_Count()get number of WBP items 
- Integer Search_File_Name(String sName) Search_File_Name(String sName)Field and field string to integer conversion functions 
- Integer Search_Field_Name(integer iFile String sFieldName) Search_Field_Name(integer iFile String sFieldName)
- integer MapWPONametoID(string sWPO) MapWPONametoID(string sWPO)This will be good for augmentation allowing us to handle
not finding the WBPO any way we want. - Integer hWPO hWPO
 
- integer MapWSONametoID(string sWPO) MapWSONametoID(string sWPO)This will be good for augmentation allowing us to handle
not finding the WSO any way we want. - Integer hWPO hWPO
 
 DoSetVDFISData_Error(Address pVDFISData integer iError) DoSetVDFISData_Error(Address pVDFISData integer iError)- place error code within VDFISData structure - Integer bOK bOK
 
 OnKillSession() OnKillSession()- These events are sent by the OCX and must be directed to the WBPO 
 OnAttachSession() OnAttachSession()- This object's container (cWebApp) must understand these
DoAttach and Detach messages. 
 OnDetachSession() OnDetachSession()
 OnRequestSave(String sWebBpo string sFile address pVDFISData) OnRequestSave(String sWebBpo string sFile address pVDFISData)- -------------OnRequestSave--------- - Integer hObjId hObjId
- Integer iError iError
 
 OnRequestDelete(String sWebBpo string sFile address pVDFISData) OnRequestDelete(String sWebBpo string sFile address pVDFISData)- -------------OnRequestDelete--------- - Integer hObjId hObjId
- Integer iError iError
 
 OnRequestClear(String sWebBpo string sFile integer bClearAll address pVDFISData) OnRequestClear(String sWebBpo string sFile integer bClearAll address pVDFISData)- -------------OnRequestClear--------- - Integer hObjId hObjId
- Integer iError iError
 
 OnRequestFind(String sWebBpo string sFile string sField integer iFindMode Address pVDFISData) OnRequestFind(String sWebBpo string sFile string sField integer iFindMode Address pVDFISData)- -------------OnRequestFind--------- - Integer hObjId hObjId
- Integer iError iError
 
 OnDoProcess(String sWebBpo integer iParam string sParam1 address pVDFISData) OnDoProcess(String sWebBpo integer iParam string sParam1 address pVDFISData)- -------------OnDoProcess--------- - Integer hObjId hObjId
- Integer iError iError
 
 OnSetFileFieldValue(Integer hObjId String sFile String sField Address pVDFISData) OnSetFileFieldValue(Integer hObjId String sFile String sField Address pVDFISData)- -------------OnSetFielFieldValue--------- 
 OnSetFileRecordId(Integer hObjId String sFile String sRecordId) OnSetFileRecordId(Integer hObjId String sFile String sRecordId)- -------------OnSetFileRecordId--------- 
 OnSetFileRowId(Integer hObjId String sFile String sRowId) OnSetFileRowId(Integer hObjId String sFile String sRowId)- -------------OnSetFileRowId--------- 
 OnDDValue(String sWebBpo String sFile String sField DWORD iOption String sParam Address pVDFISData) OnDDValue(String sWebBpo String sFile String sField DWORD iOption String sParam Address pVDFISData)- -------------OnDDValue--------- - Integer hObjId hObjId
- Integer iError iError
 
 OnDFFunc(string sWebBpo Address pVDFISData) OnDFFunc(string sWebBpo Address pVDFISData)- -------------OnDFFunc---------
Note that DfFunc and Call both map to this location. From this point on, it is Call
This can be called as part of a webapp or a web-service. We must check and only
pass these messages to the correct objects
values for WebAppEndPointEnvironment in function CurrentWebAppEnvironment - Integer hObjId hObjId
- Integer iError iError
- Integer eWebAppEndPointEnvironment eWebAppEndPointEnvironment
 
 OnRequestFindByRecId(String sWBO String sFile String sRecId Address pVDFISData) OnRequestFindByRecId(String sWBO String sFile String sRecId Address pVDFISData)- -------------OnRequestFindByRecId--------- - Integer hObjId hObjId
- Integer iError iError
 
 OnRequestFindByRowId(String sWBO String sFile String sRowId Address pVDFISData) OnRequestFindByRowId(String sWBO String sFile String sRowId Address pVDFISData)- -------------OnRequestFindByRowId--------- - Integer hObjId hObjId
- Integer iError iError
 
 OnRequestDDUpdate(String sWBO String sFile Boolean bShowErrs DWORD iExtra Address pVDFISData) OnRequestDDUpdate(String sWBO String sFile Boolean bShowErrs DWORD iExtra Address pVDFISData)- -------------OnRequestDDUpdate--------- - Integer hObjId hObjId
- Integer iError iError
 
 OutputHTMLtoTestFile(string sHtml) OutputHTMLtoTestFile(string sHtml)- As of 9.1, we no longer Augment messages that require OEM/ASNI translation.
Flexcom now does this for us. This only affects string parameters.
Note that all data passed through VDFISData already is properly converted - String sFile sFile
 
 OutputHtml(string sHtml) OutputHtml(string sHtml)- Integer iOut iOut
 
 OutputPlainText(String sText) OutputPlainText(String sText)- Integer iOut iOut
 
 LogEvent(Integer iEventType String sEvent) LogEvent(Integer iEventType String sEvent)- augment to check for recursion as well as do ansi conversion 
- String HtmlQueryString(String sVariable) HtmlQueryString(String sVariable)- String sRet sRet
 
- DWORD HtmlFormValue(String sFormName) HtmlFormValue(String sFormName)- Integer lretVal lretVal
 
 ReportError(integer iErr string sErrMsg integer iLine integer iFileNr integer iFieldNr) ReportError(integer iErr string sErrMsg integer iLine integer iFileNr integer iFieldNr)- Error Interface:
ReportError and ReportErrorEvent is private and should never be sent. It is sent
from within the error handler object to report errors - String sLineBreak sLineBreak
- String sDtl sDtl
- String sFileName sFileName
- String sFieldName sFieldName
 
 ReportErrorEvent(integer iErr string sErrMsg integer iLine integer iFileNr integer iFieldNr) ReportErrorEvent(integer iErr string sErrMsg integer iLine integer iFileNr integer iFieldNr)- String sHtml sHtml
- String sLineBreak sLineBreak
- String sDtl sDtl
- String sFileName sFileName
- String sFieldName sFieldName
 
 EnumerateErrors(integer iMsg integer hObj) EnumerateErrors(integer iMsg integer hObj)- EnumerateErrors and ErrorReportCallBack could be used for
advanced purposes allowing other objects to handle errors in
a more custom fashion.
use this to generate a report of all errors 
 ErrorReportCallBack(integer iItem integer iMsg integer hObj) ErrorReportCallBack(integer iItem integer iMsg integer hObj)
 ReportAllErrors(String sErrHdr) ReportAllErrors(String sErrHdr)- use this to generate a report of all errors 
 ReportLastError(Integer bClearError) ReportLastError(Integer bClearError)- Use this to display the last error 
- string ErrorMessage(integer iItem) ErrorMessage(integer iItem)return error for item, return in HTML format - String sLineBreak sLineBreak
- String sErrMsg sErrMsg
 
 ClearErrors() ClearErrors()- This will clear all errors 
- Integer ErrorCount() ErrorCount()return true if any errors exist in queue 
- integer FileFieldErrorItem(integer iFile integer iField) FileFieldErrorItem(integer iFile integer iField)see if error exists for this file and field. If it does, return the
item number, else return -1. 
 ErrorQueueStart() ErrorQueueStart()- starts a queued errors, 
 ErrorQueueEnd() ErrorQueueEnd()- ends queued errors. Note that the queue is not cleared 
 ReportErrorItem(integer iItem) ReportErrorItem(integer iItem)- Generate error for pass item 
 LogErrorEvent(integer iErr string sText) LogErrorEvent(integer iErr string sText)- Generate and error and make sure that it is
logged in event log. - Integer bOldSt bOldSt