West Wind Web Connection 5.0
West Wind Web Connection
What's new
Licensing
Share your Sites
Acknowledgements
Shareware version limitations and issues
Updating Notes for previous Versions
Updating from the Shareware Version
Updating from previous Versions
wwIPStuff Updates to wwHttp, wwSmtp, wwFtp and wwSocket PRG
Upgrading from Version 4.0
Response.ExpandTemplate Eval Recursion no longer supported
DEBUGMODE and Error Handling Changes
Change Process Class Process() methods to OnProcessInit()
Using the new wwPageResponse Class
Log and Session File Structure Updates
Requirements and Recommended downloads
System, software and hosting requirements
Visual FoxPro Environment Requirements
Documentation in Word Format
Web Connection WebLog
Web Connection Web Control Framework Videos
Support and reporting bugs
Pricing, Purchasing, Reselling and Warranty
Latest News at West Wind Technologies
User Guide
What is Web Connection
Roadmap to starting out with Web Connection
Web Server Requirements
Choosing the right Development Model
Setting Up Web Connection
Unzipping the self extracting Zip file
The Setup program
Step 1 - Picking the Web server
Step 2 - Configuring the temp path
Step 3 - Configuring the virtual path
Step 4 - Finish and test the Server
Step 5 - Checking out the code
Setup troubleshooting
Troubleshooting a Filebased Server Install
Authentication Dialog with NT and Windows 2000
Request does not support this method... Error Page
Save As.. or Download dialog instead of request result
404 Resource Not Found Errors
Manually configuring Microsoft Web Servers
Windows 2003 Server Configuration
Windows 7, Vista and Server 2008 Configuration
Web Connection Cassini and Visual Studio Web Server
Running Web Connection on 64 Bit Windows
Apache for Windows Manual Configuration
Netscape and other CGI Servers
Configuring Visual Studio (2005-2010)
Using the Web Connection Managed Module
IIS 7 and the Web Connection Managed Module
IIS 6/5 and the Web Connection Managed Module
Web Connection Managed Module Configuration
webConnectionConfiguration Settings
AdminAccount
AdminPage
AutoStartServers
ComServerLoadingMode
ComServerProgId
ExeFile
LogDetail
MessageDisplayFooter
MessagingMechanism
PostBufferLimit
ServerCount
TempFilePrefix
TempPath
Timeout
UpdateFile
Class AppErrorMessagePages
Busy
Exception
InvalidRequestId
Maintenance
NoOutput
OleError
PostBufferSize
Timeout
TranmitFileFailure
Web Connection Configuration and Deployment
Deploying your Web Connection Application
Deploying to Low Cost ASP.NET Hosts
Creating a Registrationless COM Deployment
Creating a self contained File Based Server
Compiling your Server
Deploying an application on a live Web server
Using UpdateExe to hotswap COM Servers
Server Configuration Wizard
Step 1 - Create virtual directory
Step 2 - Synch ISAPI DLL and the Web Connection Server
Step 3 - Create scriptmap
Step 4 - Configure COM settings
Manual Server Configuration
Manual COM Server Configuration
Manual File Server Configuration
Copying Files to the Server
Programmatic Server Configuration
Autostarting Web Connection on System Startup
Find and configure the Account Web Server is running under
Securing your Web application
The Server User Interface
The main server process form
The server status form
Configuration Files
The wc.ini configuration file
The Application ini file and the wwServerConfig class
The wconnect.h file
Customizing wconnect.h settings the easy way
The Web Connection HTML Administration Page
ISAPI DLL Maintainence requests
The wwMaint Maintainance requests
Web Connection ISAPI Server Settings Web Page
Web Connection ISAPI Error log (wcErrors.txt)
Updating and Migrating
Updating an existing application on a live Web server
Debugging Requests
Error Handling
Logging and Tracking Requests
The RequestId ServerVariable and the ISAPI Extension
Fox Server Application Logging
Logging Requests in ISAPI and your Fox Server
Scaling Web Connection Servers across the network
Tuning Web Connection for high volume operations
Configuring Web Connection for use with SQL Server
Core Step By Step Guide
Step 1 - Creating a new project
Step 2 - Testing the installation
Step 3 - Adding our own Request Method
Step 4 - Adding simple User Input with QueryStrings
Step 5 - Drilling down into the customer list
Step 6 - Capturing HTML Form Data
Step 7 - Dynamic Editing with Templates
Core Step by Step with the wwBusiness Object
Step 1 - Setting up a business object
Step 2 - Create new Process class
Step 3 - Querying developers with the business object
Step 4 - Selecting and displaying data
Step 5 - Editing data
Step 6 - Updating the List Page
Step 7 - Adding Basic Security
Step 8 - Switching the app to SQL Server Data
Step 9 - Accessing the data over the Web from a Fat client
How Web Connection works
The Server Architecture
Messaging Modes - File Based, COM and ASP
The Visual FoxPro Framework
Implementing the Server
Setting up a Process Class
Mechanisms for generating HTML
Scripting Support in Web Connection
Creating ASP Components from a Web Connection Application
The Web Connection Management Console
Management Console Command Line Interface
New Project Wizard
Step 1 - Create the project and process names
Step 2 - Configure a virtual directory
Step 3 - Create a scriptmap
Step 4 - Finish and create the project
Step 5 - Setting up the server as a COM object (Optional)
New Process Wizard
Step 1 - Pick the project and process
Step 2 - Configure optional Virtual and Scriptmap
Create SQL Server Tables
Step 1 - Select Database
Step 2 - Set Connection String
Step 3 - Finish and configure Web Connection for SQL tables
Security
Windows Directory & File Security
HTTPS/SSL Encryption
Application Level Authentication
Basic Authentication
UserSecurity Authentication
Custom Authentication
Windows Authentication and Scriptmaps
Securing your Web Connection Installation
Implementing FoxPro based User Logins
Knowledge Base Topics
What are HTTP Cookies?
Implementing HTTP Cookies
Checking whether cookies are enabled in browser
Understanding HTTP Headers in Web Connection
What's the difference between a template and a script?
Run the server without User Interface
Updating your Server Executable online
Running long requests in Single COM mode
Running multiple Web Connection Apps on a single server
Access Denied Errors when loading COM servers
What is a script map?
IntelliSense and Web Connection Objects
Creating a Scriptmap on IIS
Removing multiple DCOMCNFG references for your COM server
How to run JSON Ajax Requests without the Web Control Framework
Framework Classes
Class wwServer
OnInit
OnLoad
Dispose
GetProcessID
AddResource
Process
ProcessHit
ShowServerForm
cAppIniFile
cAppName
cAppStartPath
cCOMReleaseURL
cErrorMsg
cLogFile
cOutput
cRequestClass
lASPObject
lShowRequestData
lUseRegistryForStartupPath
lUseErrorMethodErrorHandling
lComObject
lDebugMode
lError
lLogToFile
lUnattendedComMode
nScriptMode
nPageParseMode
nWebControlFrameworkCompileMode
Server Support members of wwServer
ASPCallRequest
GetAppStartPath
LogRequest
MTSSetAbort
MTSSetComplete
ReadConfiguration
Reload
SaveConfiguration
SetLocale
SetLogging
SetTimerInterval
cDefaultLocale
cDLLFileName
cTempFilePath
lShowServerForm
lShowStatus
lUseMTS
lUseRegistryForStartupPath
Class wwProcess
OnAuthenticateUser
OnError
OnProcessInit
OnProcessComplete
Authenticate
CaptchaImage
WebResource
GetWebResourceUrl
ErrorMsg
GetAppSetting
GetUrlBasePath
GetWCIniSetting
InitSession
LogError
Process
ResolveUrl
SendErrorEmail
StandardPage
cAuthenticationMode
cAuthenticatedUser
cAuthenticationUserSecurityClass
cAuthenticationUserSecurityKey
cAuthenticationUserMessage
cSessionKey
cUrlBasePath
cErrorTemplate
cMethodExecutionExclusions
lEnableSessionState
lShowRequestData
nPageScriptMode
oConfig
oRequest
oResponse
oServer
oSession
oUserSecurity
Class wwRequest
How wwRequest works
*** Core Methods required for subclassing
aFormVars
Form
GetRawFormData
InitializeRequest
IsChecked
IsFormVar
IsPostback
QueryString
Params
ServerVariables
SetKey
*** General purpose retrieval methods
FormVarsToObject
GetApplicationPath
GetAuthenticatedUser
GetBrowser
GetCookie
GetCurrentUrl
GetExecutablePath
GetExtraHeader
GetFormMultiple
GetIPAddress
GetLogicalPath
GetLocale
GetMultipartFile
GetMultipartFormVar
GetRequestId
GetPhysicalPath
GetPreviousUrl
GetRelativeSecureLink
GetServerName
GetServerSoftware
GetVirtualPath
GetWCIniValue
islinksecure
getclientcertificate
lUtf8Encoding
nPostMode
cFormVars
cpathoverride
cServerVars
lusexmlformvars
oapi
oxml
Class wwASPRequest
Class wwPageResponse
BasicAuthentication
AddCacheHeader
AddCookie
DocHeader
DocFooter
AddForceReload
AppendHeader
BinaryWrite
Clear
DownloadFile
End
ExpandPage
ExpandScript
ExpandTemplate
FastWrite
Redirect
Render
TransmitFile
Write
ContentType
Encoding
Cookies
Expires
GZipCompression
Headers
RawHeaders
ResponseEnded
Status
Old Components
Class wwResponse
*** Base Class Abstract Methods
Write
FastWrite
GetOutput
Clear
*** General purpose methods
authenticate
contenttypeheader
ContentType
DownloadFile
expandtemplate
TransmitFile
ExpandScript
HRef
htmlfooter
HTMLHeader
cStyleSheet
HTMLHeaderEx
IEChart
nooutput
Redirect
ShowCursor
standardpage
writememo
WriteLn
*** Form Field Generation
formbutton
FormHeader
formcheckbox
formhidden
formradio
formtextarea
formtextbox
Framework Support classes
Library wwHtmlHelpers
HtmlElement
HtmlOpenElement
HtmlCloseElement
HtmlFormOpen
HtmlFormClose
HtmlLabel
HtmlLink
HtmlImage
HtmlDateBox
Class HtmlDateBoxConfig
ButtonImage
DateFormat
DisplayMode
MaxDate
MinDate
OnClientBeforeShow
OnClientSelect
ShowButtonPanel
HtmlTextBox
HtmlTextArea
HtmlPassword
HtmlCheckBox
HtmlListBox
HtmlDropDown
HtmlRadioButton
HtmlSubmitButton
HtmlButton
HtmlDataGrid
Code Example for creating a fully custom Data Grid
HtmlDataGrid and Paging
Class HtmlDataGridConfig
OnAfterRowRender
OnBeforeRowRender
AddColumn
AddCursorColumns
ActiveColumn
ActiveColumnAttributeString
AlternateItems
AlternatingItemCssClass
CssClass
CurrentPageIndex
DataKeyField
HeaderCssClass
HeaderStyle
ItemCssClass
ItemStyle
NextText
PageBaseLink
PageCount
PagerColumnAttributes
PagerCssClass
PagerQueryStringName
PagerText
PageSize
PreviousText
RowAttributeString
TableAttributes
TableStyle
Width
Class HtmlDataGridColumn
Style
Sortable
SortExpression
ItemAttributeString
HeaderText
HeaderAttributeString
Format
FieldWidth
FieldType
Expression
Init
HtmlRecord
Code Examples for create Record display from a cursor
Class HtmlRecordColumn
INIT
CSSClass
Expression
FieldType
FieldWidth
Format
HeaderAttributeString
HeaderText
ItemAttributeString
Style
Class HtmlRecordConfig
Columns
CssClass
DisplayMode
HeaderCssClass
HeaderStyle
ID
ItemCssClass
ItemStyle
RowAttributeString
Style
TableAttributes
TableStyle
Width
HtmlErrorDisplay
Class wwSession
How it works
Using SQL Server for Sessions with the wwSessionSQL Class
CreateTable
DeleteSession
EndSession
GetField
GetSessionId
GetSessionVar
GetUserId
IsValidSession
LocateSession
NewSession
OpenTable
Reindex
SetField
SetSessionID
SetSessionVar
SetUserId
TimeoutSessions
cDataPath
cSessionID
cTableName
lDontSaveSession
lNoFileCheck
nSessionTimeout
oRequest
Class wwConfig
Load
Save
cFileName
cMode
cRegNode
cRegPath
cSubName
Class wwUserSecurity
Authenticate
AuthenticateNt
Close
CreateTable
DeleteUser
GetUser
GetUserByUsername
NewUser
Open
Reindex
SaveUser
calias
cdomain
cerrormsg
cfilename
lcasesensitive
lerror
ndefaultaccounttimeout
nminpasswordlength
oUser
Class wwCache
How wwCache works
When and How to use Caching
AddItem
Expire
GetItem
IsCached
Open
Reindex
Remove
cCacheCursor
cFixedFileName
nDefaultCacheTimeout
Class wwServerConfig
nTimerInterval
nScriptMode
nMemUsage
lShowStatus
lShowServerForm
lShowRequestData
lSaveRequestFiles
lLogToFile
lAdminSendErrorEmail
cTemplate
cTempFilePath
cSQLConnectString
cComReleaseUrl
cAdminMailServer
cAdminEmail
Class wwHTTPHeader
AddCacheHeader
AddCookie
AddCustom
addforcereload
addheader
AddRequestId
authenticate
ClearHeader
completeheader
defaultheader
FileDownloadHeader
getoutput
redirect
SetContenttype
setprotocol
cHTTPVersion
Class wwHTMLHeader
AddJavaScript
AddMetaTag
AddPageRefresh
AddScriptLink
AddStyleSheet
AddStyleSheetBlock
AddTitle
AddVBScript
DefaultHeader
GetOutput
Init
cBodyTag
cDocType
cHTMLTag
Web Control Framework (New)
How the Web Control Framework works
Control Architecture
Page Event Sequence
Script Page Support
ASP Style Scripting Support (<%= %> and <% %>)
Script Page Rules
From Script To Code
How DataBinding works
DataBinding Methods and Properties
Control Source DataBinding
How Controls are parsed
Understanding Code Generation and Compilation
Deploying Web Control Framework Pages
How Scripts get fired from wwProcess
Web Control Pages and Page Compilation
Creating Custom Web Controls
Getting Intellisense to work in the Web Control Framework
Web Control Framework Walk Through
Creating a new project
Setting up Visual Studio
Setting up your first WebControl page
Adding controls to the page
Hello World with Web Controls
Creating a developer list page with a wwWebDataGrid
Displaying Developer Data
Editing Developer Data
Adding a new Developer
A few additions and the full EditDeveloper code
Visual Studio Configuration and Operation
Configuring Visual Studio .NET
Visual Studio Add-in Configuration
The .NET Controls in WebConnectionWebControls.Dll
Creating custom Page and Control Templates
Common Tasks and Questions
Security in Web Control Framework applications
Firing Custom Server Events from the Client
Capturing Checkbox or Text data in a wwWebRepeater
Using custom wwProcess classes and ScriptMaps
FAQ Posts from the Web Connection WebLog
Firing Server Events from Client Code in Web Connection 5.0
Mixing Client and Server Events in Web Connection 5.0
Business Object vs. Direct DataBase Access
Creating custom Web Connection Web Controls
Creating custom Page Templates for Visual Studio
Web Connection and Visual Studio FAQ
Web Control Reference
Class wwWebControl
Web Control Basics
Web Control Events
Web Control Inheritance and Containership
AddAttribute
AddScriptAttribute
AddControl
AddStyleTag
BindControlSource
DataBind
Dispose
FindControl
FireEvents
GetCachedOutput
HookupEvent
LoadViewState
OnInit
OnLoad
OnLoadControlState
OnLoadViewState
OnPreRender
OnSaveViewState
PreserveProperty
Process
Render
RenderControlError
ResolveUrl
SaveViewState
UnbindControlSource
UnbindData
WriteBaseTags
WriteCachedOutput
WriteEnabledTags
WriteEncodedAttributeString
WriteIdTags
WriteStyleAndClassTags
WriteUnitValue
Attributes
AllowedMarkupChildren
AutoPostBack
BackColor
BindingErrorMessage
CacheDuration
CacheKey
CanContainLiterals
ChildControls
Context
ControlIndex
ControlSource
ControlSourceFormat
ControlSourceMode
ControlSourceProperty
ControlSourceType
ControlSourceUnbindExpression
CssClass
DefaultEvent
DefaultProperty
Enabled
EnableViewState
ErrorMessageLocation
ForeColor
Height
ID
IsContainerControl
IsInputControl
IsPostBack
lDisposeCalled
lEndResponse
Page
ParentControl
OverrideNamingContainer
PostHtml
PreHtml
PreservedProperties
ReadOnly
RequiresFormRef
Style
Text
Tag
ToolTip
UniqueID
UserFieldName
ValidationExpression
ViewState
Visible
Width
Class wwWebPage
The <ww:wwWebPage> Directive
AddBindingError
RegisterCursor
AddValidationErrorsToBindingErrors
Authenticate
OnError
SetFocus
RegisterPostbackScriptCode
RegisterClientScriptInclude
RegisterCssInclude
RegisterClientScriptBlock
RegisterStartupScript
GetPostbackEventReference
GetPostbackEventParameter
Render
Run
BindingErrors
ClientScript
EnableSessionState
ErrorIconUrl
FormName
Header
HiddenFormVars
IsWebPage
jQueryConfig
StopEventProcessing
StartupScript
SurpressHttpHeader
Class wwWebUserControl
Using a User Control
Creating a User Control
< %= % > Expression and < % % > Code Block Syntax
Base Controls
Class wwWebTextBox
Change
ControlSource
ControlSourceFormat
IsRequired
LabelText
Text
TextMode
Class wwWebPanel
BackImageUrl
BorderWidth
BorderWidth
HorizontalAlign
RenderAsDivTag
Scrollbars
Visible
VisibleExpression
Wrap
Class wwWebLiteralControl
Text
Class wwWebLabel
Text
ControlSourceFormat
ControlSource
For
BindingErrors
OnBindingErrorLink Client Function
Class BindingError
Message
ObjectName
Class BindingErrorCollection
ToHtml
ToString
Class wwWebImage
ImageUrl
BorderWidth
ImageAlign
AlternateText
Class wwWebHiddenField
Text
Class wwWebErrorDisplay
ShowError
ShowMessage
CellPadding
Center
CssClass
DisplayTimeout
ErrorImage
InfoImage
jQueryScriptLocation
RenderMode
Text
Width
Class wwWebCheckBox
Click
Checked
Width
Button Controls
Class wwWebButton
Click
OnClientClick
Text
UseSubmitBehavior
Class wwWebHyperLink
ControlSource
ImageUrl
NavigateUrl
Target
Text
UrlControlSource
Class wwWebImageButton
Click
ControlSource
BorderWidth
DisabledImageUrl
ImageUrl
NavigateUrl
OnClientClick
Target
Text
UrlControlSource
Class wwWebLinkButton
Click
OnClientClick
Text
Class wwWebMailLink
EmailControlSource
ImageUrl
Message
Subject
List Controls
Class wwWebDataGrid
wwWebDataGrid How To's
Adding Columns to a DataGrid
How to create column and cell specific formatting
Custom Actions in Grid Columns
PageIndexChanged
SortOrderChanged
RowRender
Class wwWebDataGridColumn
CssClass
Expression
FieldType
Format
HeaderAttributeString
HeaderText
ItemAttributeString
Sortable
SortExpression
Style
Client Event Properties
AddControl
RemoveColumn
DataBind
AlternatingItemCssClass
ActiveColumn
ActiveColumnAttributeString
AutoGenerateColumns
CellPadding
Columns
CurrentPageIndex
DataSource
DataKeyField
HeaderCssClass
ItemCssClass
PageCount
PagerColumnAttributes
PagerCssClass
PagerText
PageSize
RowContent
RowAttributeString
SortColumn
SortOrder
Class wwWebDropDownList
Class wwWebListBox
Class wwWebListControl
Using List Binding with Code
Using Control Source binding for the List
Class wwWebListItem
Selected
Text
Value
Change
AddControl
AddItem
ClearItems
DataBind
DataSource
DataTextField
DataValueField
FirstItemText
FirstItemValue
Items
LastItemText
LastItemValue
ListMode
SelectedValue
SelectedValues
SelectionMode
Class wwWebRadioButtonList
How the wwWebRadioButtonList works
SelectedValue
RepeatDirection
Class wwWebRepeater
How the wwWebRepeater works
wwWebRepeater Templates
DataSource
DataSourceType
IsAlternatingItem
DataBindItemTemplate
MaxItems
NoDataHtml
ItemChanged
ItemDataBind
ItemPreRender
ActiveItemTemplate
Extended Controls
Class wwWebFileUpload
GetFileContent
Class wwWebHtmlEditor
ImagePath
Class wwWebLogin
How the wwWebLogin Control works
Login
LogOut
CellPadding
Center
CssClass
ErrorMessage
IsAdmin
LoggedIn
LoginButtonText
LoginSessionVar
Password
PasswordLabel
RenderMode
TextBoxWidth
TitleClass
TitleText
UserMessage
UserNameLabel
UserSecurityClass
Class wwWebProgressBar
How the wwProgressBar Control works
JavaScript Functions
UpdateProgressBar
Class ProgressEventArgs
Cancelled
Completed
Id
Message
Percent
ShowProgress
Ajax
AllowedPageMethods
BarCssClass
BarFontSize
BarHeight
Center
CenterText
CssClass
DisplayText
Percent
Text
TextCssClass
Class wwWebRssFeed
RssFeedToHtml
ConnectionTimeout
CssClass
DetailPostHtml
DetailPreHtml
FeedUrl
ItemsToShow
ShowBlogTitle
ShowDetail
TitleCssClass
Class wwWebShowCode
Click
CodeFile
DisplayMode
Class wwWebCaptcha
Using the control in thet Web Control Framework
Using the control in plain wwProcess Methods
SubmitCaptcha
ValidateCaptcha
CapthaChars
CaptchaLength
FontName
FontSize
IsValidated
Text
Class wwWebTabControl
How the wwWebTabControl works
Dynamically creating Tabs and Tab Pages
Databinding Errors and the wwWebTabControl
Class wwWebTabPage
Enabled
ActionLink
Style
TabImage
TabPageClientId
Text
AddTab
GetTabPage
SelectedTab
OnClientActivate
SelectedTabCssClass
OnClientActivate
TabCssClass
TabHeight
TabPages
TabsPerRow
TabWidth
Class wwWebFckEditor
Installing and Deploying FCK Editor
Configuring FCK Editor
Using the wwWebFckEditor Control
ClientOnLoad
CustomConfigurationPath
EditorAreaCss
EditorBasePath
FontFormats
FontNames
FontSizes
StylesXmlPath
Text
Theme
ToolbarSet
JavaScript Client Classes
jQuery Plugins
centerInClient jQuery Plugin
closable jQuery Plugin
contentEditable jQuery Plugin
editable jQuery Plugin
draggable jQuery Plugin
listAddData jQuery Plugin
listSelectItem jQuery Plugin
listSetData jQuery Plugin
makeAbsolute jQuery Plugin
maxZIndex jQuery Plugin
modalDialog jQuery Plugin
moveToMousePosition jQuery Plugin
postJSON
serializeNoViewState jQuery Plugin
shadow jQuery Plugin
tooltip jQuery Plugin
watch jQuery Plugin
Client Class AjaxMethodCallback
Proxy Callbacks
Low Level Callbacks
callMethod
formName
postbackMode
serverUrl
targetControlId
resultMode
timeout
Client Class HoverPanel
assignContent
HoverPanel.hide
HoverPanel.movePanelToPosition
HoverPanel.show
HoverPanel.showIFrame
HoverPanel.startCallback
adjustWindowPosition
callbackHandler
callbackErrorHandler
eventHandlerMode
formName
hoverOffsetBottom
hoverOffsetRight
htmlTargetClientId
HoverPanel.navigateDelay
panelOpacity
postbackMode
serverUrl
shadowOffset
HoverPanel.shadowOpacity
Client Class CallbackException
isCallbackError
message
Client Class HttpClient
appendHeader
send
completed
contentType
errorHandler
evalResult
isMsAjaxJson
method
serverUrl
timeout
Client Class JSON
stringify
stringifyWcf
parse
parseWithDate
dateStringToDate
Client Class ServiceProxy
invoke
isWcf
serviceUrl
timeout
Global Functions and Objects
$$
ajaxCallMethod
ajaxJson
getUrlEncodedKey
onPageError
registerNamespace
setUrlEncodedKey
showStatus
parseTemplate
String Class Extensions
htmlEncode
padL
padR
format
repeat
trimEnd
trimStart
Date Class Extensions
formatDate
Number Class Extensions
formatNumber
AJAX Controls
AJAX Control Use and Operation
jQuery and jQueryUi Script Loading
HoverPanel Windows
Remote AJAX Method Calls using JSON Serialization
Using DragPanels
Modal Dialogs
Class wwHoverPanel
OnCompleteClientHandler
NavigateDelay
IsCallback
IFrameHeight
HtmlTargetClientID
HoverOffsetRight
HoverOffsetBottom
EventHandlerMode
AutoCloseHoverWindow
AdjustWindowPosition
Class wwAjaxMethodCallback
AllowedPageMethods
PostBackFormName
PostBackMode
ScriptLocation
ServerUrl
TargetObject
Class wwDragPanel
Closable
CloseBoxImage
Draggable
DragHandleId
OnClientCloseHandler
ScriptLocation
ShadowOffset
ShadowOpacity
Class wwModalDialog
Show
BackgroundOpacity
CancelButtonId
ContentId
HeaderId
OnClientDialogClick
OverlayId
ScriptLocation
zIndex
Ajax Utility Functions
IncludewwjQuery
IncludejQuery
Class wwDatePicker
ButtonImage
CloseAtTop
CssBasePath
DateFormat
MaxDate
MinDate
OnClientBeforeShow
OnClientSelect
SelectedDate
Theme
Class jQueryConfig
IncludejQuery
IncludejQueryUI
IncludewwjQuery
jQueryLoadMode
jQueryCDNUrl
jQueryFallbackUrl
jQueryUiCDNUrl
jQueryUiCssBasePath
jQueryUIFallbackUrl
jQueryUiTheme
wwjQueryUrl
How jQueryConfig works
Class wwAutoComplete
Implementing Server Side AutoComplete Functionality
AutoFocus
CallbackHandler
CssBasePath
Delay
MinLength
OnClientSelection
ServerUrl
Theme
Utility Classes
West Wind Internet Protocols
Registering the Shareware version
Web Connection Updates with standalone wwIPStuff
Files required
Deploying
Quick Start Examples
Sending SMTP Email
Sending Messages with Html and Text body
Access HTTP content over the Web
Uploading a file via HTTP
Downloading an FTP File
Uploading an FTP File
Domain name lookups
Class wwSmtp
Updating from wwIPStuff to wwSmtp
AddAlternateView
AddAttachment
AddHeader
Close
Connect
Dispose
SendMail
SendMailAsync
SendMessage
cAlternateContentType
cAlternateText
cAttachment
cBccList
cCCList
cContentType
cErrorMsg
cMailServer
cMessage
cPassword
cPriority
cRecipient
cReplyTo
cSenderEmail
cSenderName
cSubject
cUserAgent
cUsername
lError
lReturnReceipt
lUseSsl
nMailMode
nServerPort
nTimeout
oSmtp
Class wwHTTP
Security and Authentication
OnHttpBufferUpdate
OnHttpPostConnect
AddPostKey
AddHeader
GetHttpHeader
HttpCancelDownload
HttpClose
HttpConnect
HttpGetEx
HttpGetExAsync
HttpGetHeader
HttpPing
InternetCrackUrl
WinInetSetTimeout
GetSystemErrorMsg
GetMessageFromResultCode
SetOption
cErrorMsg
cContentType
cExtraHeaders
chttpheaders
cHttpVerb
cHTTPProxyByPass
cHTTPProxyName
cHttpProxyUserName
cLink
cResultCode
cResultCodeMessage
cpassword
cserver
cUserAgent
cusername
nServiceFlags
nconnecttimeout
nerror
lCacheRequest
lAllowGZip
lHttpCancelDownload
lIgnoreCertificateWarnings
nClientCertificateIndex
nHttpConnectType
nHttpServiceFlags
nHttpPostMode
nhttpworkbuffersize
Class wwFtp
FTP Connection Troubleshooting
FTP Event Programming
onftpbufferupdate
FtpGetFileEx
FtpSetDirectory
FtpClose
FtpCommand
FtpConnect
FtpCreateDirectory
FTPDeleteFile
FtpGetFile
FTPRemoveDirectory
FTPRenameFile
FTPSendFile
FtpSendFileEx
FtpSendFileEx2
aFTPDir
hftpsession
lcanceldownload
nCurrentFileSize
lPassiveFTP
nFtpPort
nftpworkbuffersize
cftpserver
cftpsource
cftptarget
nftpbinary
cErrorMsg
cftpserver
cftpsource
cftptarget
cHttpProxyByPass
cHttpProxyName
cHttpProxyPassword
cHttpProxyUsername
cPassword
cserver
cUserAgent
cUsername
hIPSession
nConnectTimeout
nError
nftpbinary
nHttpConnectType
nServiceFlags
Class wwHTTPAsync
navigatecomplete
addpostkey
cancelrequest
startrequest
cerrormsg
clink
cpassword
cresultbuffer
cserver
cusername
lbusy
lerror
lsecure
nbuffersize
ntimeout
oip
Class wwPop3
Retrieving all messages in a mail box
Message and Attachment object properties
Connect
DeleteMessage
GetMessage
GetMessageHeader
GetMessages
ParseMultiPartMessage
Quit
aMessages
cErrorMsg
cMailServer
cPassword
cUsername
lError
lLogSession
nError
nMessageCount
nPort
oIP
Class wwSocket
Using wwSocket Code
connect
disconnect
receive
WaitFor
WaitForSize
send
GetLog
Listen
sendreceive
socketsend
cerrormsg
nBufferSize
nLastReadSize
lLogSession
lstripnulls
nerror
ntimeout
West Wind XML Converter
What's New with wwXML
XML structures
Required Files
wwXML Object Import/Export Rules
Multiple cursors in a single XML document
XML Formatting Issues
Class wwXML (High Level Methods)
AddDomAttribute
AddComLineBreak
AddDomNode
AddElement
ADOtoXML
ADOXMLToCursor
CreateErrorXML
CursorToADOXML
CursorToRS
cursortoxml
DataSetXMLToCursor
EncodeXML
FoxValueToXmlValue
Frequently Asked Questions
GetObjVar
Load
LoadUrl
LoadXML
ObjectToXML
SQLCursorToXML
xmltocursor
XMLToObject
XMLValueToFoxValue
XPathXmlValueToFoxValue
cBody
cDocRootName
cErrorMsg
cPropertyExclusionList
VFP Class Property Exclusion Filters
cSchemaName
cSchemaUrl
cXMLHeader
lRecurseObjects
bSkipEmptyElements
lStripTypePrefix
lUseFoxTypes
nCreateDataStructure
nEncoding
Class wwXML (Low Level Methods)
CreateDataStructureDTD
CreateDataStructureSchema
CreateCursorFromSchema
CreateCursorXML
CreateADOXML
BuildCursorFromXML
ParseXMLToCursor
CreateObjectStructureSchema
CreateObjectStructureXML
CreateObjectXML
BuildObjectFromXML
ParseXMLToObject
ParseADOXMLToCursor
ParseXmlToArray
CreateArrayXML
CreateCollectionXml
CreateObjectStructureDTD
ParseXMLToCollection
Class wwBusiness
wwBusiness requirements and assumptions
Using the wwBusiness Object Wizard
Examples using the wwBusiness Object
Building nested business objects to handle relationships
Using wwBusiness with SQL Server data
Using wwBusiness with Web Data
Class wwitemlist
Add
Clear
loadfromcursor
SaveToCursor
LoadEmptyItemArray
item
arows
ncount
AddValidationError
Backup
close
createchildobject
convertdata
importdata
createnewid
createtable
delete
execute
find
getblankrecord
getproperty
loadbase
load
new
open
query
loadfromxml
reindex
save
seterror
setproperty
setsqlobject
sqlbuildinsertstatement
sqlbuildupdatestatement
statusmessage
updatestructure
validate
lCompareUpdates
calias
oValidationErrors
How Primary Keys are created
cServerUrl
cconnectstring
cdatapath
cerrormsg
cfilename
cidtable
cpkfield
cresultxml
cskipfieldsforupdates
csql
csqlcursor
lerror
lValidateOnSave
ndatamode
nresultmode
nupdatemode
oHTTPSQL
odata
osql
oValidationErrors
vresult
wwCollection Classes
Class wwCollection
Add
Clear
InsertAt
Item
Remove
UpdateItem
aItems[]
Count
Class wwNameValueCollection
Add
Clear
FastAdd
GetIndex
GetKey
InsertAt
Item
Remove
ToAttributeString
UpdateItem
aItems[]
Count
Class wwStack
Peek
Pop
Push
aItems[]
Count
Class wwSoap
Calling Web Services
Using High Level methods to call a SOAP Web Service
Working with Complex Objects in a Web Service
Web Service Client Example Calls against .Net DataSets
How to customize HTTP Settings in the SOAP client
Using Low Level Methods to call a SOAP Web Service
Using the SOAP Method Tester Form
Creating Server Side Web Services
Creating a Web Connection Web Service
Handling server side SOAP requests manually
Using wwSOAP on the server
Creating WSDL and a Proxy Client from a Web Service
How to handle errors in SOAP methods
AddParameter
AddReturnValue
CallMethod
CallSoapServer
CallWSDLMethod
CreateSoapRequestXML
CreateObjectXmlFromSchema
CreateObjectFromSchema
CreateSoapResponseXML
GetNamedParameter
ParseSOAPParameters
ParseObject
ParseObjectArray
ParseSoapResponse
ParseObject
ParseServiceWSDL
SoapErrorResponse
aReturnValues
cExtraEnvelopeAttributes
cErrorMsg
cMethod
cPassword
cRequestXML
cResponseXML
cResultName
cMethodNameSpace
cMethodNamespaceURI
cSOAPNameSpace
cServerUrl
cUserName
lError
lIncludeDataTypes
lRecurseObjects
oHTTP
cHttpProxy
nHTTPConnectTimeout
nHTTPConnectType
nReturnMode
cSDL
oSDL
vResult
Class wwSOAPProxy
LoadWSDL
cErrorMsg
cPassword
cProxy
cUserName
cWSDLURl
lError
nClientMode
nTimeout
Class wwSQL
How Connections are managed by wwSQL
Calling Stored Procedures
Choosing between wwSQL and wwADOSql
Compatibility between wwSQL and wwADOSql
Class wwAdoSql
Working with Unicode data
Calling Stored Procedures
nCodePage
AddParameter
AddSql
BeginTransaction
Close
Commit
Connect
EnableUnicodeToAnsiMapping
Execute
ExecuteNonQuery
ExecuteStoredProcedure
GetAffectedRows
InsertBinaryField
InsertDataFromCursor
ReadBinaryField
Rollback
SetAsyncMode
SQLBuildInsertStatementFromObj
SqlBuildUpdateStatementFromObj
SqlCancel
aerrors
cconnectstring
cerrormsg
cerrormsg2
cSkipFieldsForUpdates
csql
csqlcursor
lerror
lNamedParameters
luseconnection
nAffectedRecords
nerrorno
nodbcerrorno
nsqlhandle
nsqlresult
Class wwHTTPSQL
How wwHTTPSQL works
XML Request Format
XML Response Format
wwHTTPSQL and Visual FoxPro data
Class wwHTTPSQLServer
How wwHTTPSQLServer works
wwHTTPSQLServer and security
Using wwHTTPSQLServer with ASP
S_Execute
CreateXML
ExecuteSQL
ParseXML
cAllowedCommands
cErrorMsg
cFullSQL
cSQLCommand
cRequestXML
cResponseXML
cConnectString
lError
oSQL
AddSQLParameter
Execute
GetSQLReturnValue
CreateRequestXml
CreateRequestXml
cConnectString
cRequestXML
cResponseXML
cServerUrl
lUTF8
nMaxBufferSize
nResultMode
vReturnValue
nTransportMode
Library wwUtils
AParseString
CopyTree
CacheFile
CharToBin
ContentTypeFromExtension
CopyObject
CopyObjectProperties
CursorToObjectArray
DCOMCnfgServer
DCOMLaunchPermissions
DeleteFiles
DisplayMemo
EncodeHtml
EndsWith
Extract
File2Var
FileAttributes
FileSize
FileTime
FixPreTags
GetAttribute
GetAppStartPath
GetPassword
GetRegExObject
GetURLEncodedKey
GoUrl
HTMLColor
Href
InputForm
IsCOMObject
IsDir
IsDotNet
IsNullOrEmpty
IsWinnt
GetLongPathName
LaunchVsWebServer
MailLink
MergeText
MergeTextFromFile
MimeDateTime
NewId
NoEmptyDate
OpenExclusive
Path
PropertyDump
RegisterOleServer
RegisterDotNetComponent
RemoveUrlEncodedKey
RenderAspScript
ReplaceText
ReplaceTextAndDelimiters
SetAcl
SafeEval
SafeCommand
ShortPath
ShortDate
ShortTime
ShowHTML
ShowText
ShowXML
StripHTML
StartsWith
StringFormat
TimeToCStrict
TrimWhiteSpace
URLDecode
URLEncode
WrCursor
Class wwEval
Evaluate
EvaluateClassMethod
Execute
ExecuteCommand
MergeText
cErrorMessage
cResultType
lAllowEvalRecursion
lError
nError
nErrorLine
Result
vErrorResult
Class wwAppWizard
AddProcessToMain
ConfigureServer
CreateProject
CreateScriptMap
CreateVirtual
SetPermissions
cAppName
cDCOMUserName
cErrorMsg
cProcessName
cScriptDLL
cScriptMap
cScriptPath
cServerExe
cServerIni
cServerName
cServerType
cTemplate
cTemplate_admin
cTemplate_AppIni
cTemplate_AppMain
cTemplate_bld
cTemplate_default
cTemplate_Process
cTemplate_wcini
cTempPath
cVirtual
cVirtualPath
lCopywcdll
lError
lInstallHTMLSamples
lInstallProcASP
lSilent
Class wwDHTMLForm
DoEvents
GetOutput
Init
OverrideInsertObjectHTML
OverrideSetValue
SetValues
ShowContainer
cContentType
cExitFormHTML
cFormAction
cFormName
cFormOnLoadCode
cHTMLBackGround
cImagePath
cScriptCode
lAbsolutePosition
lCenterForm
lFormBackgroundTransparent
lShowAsFullHTML
lShowFormCaption
lUseConstantButtonName
lUseControlSourceAsName
lUseListItem2AsValue
nValueType
Class wwXMLState
GetProperty
GetXML
LoadXML
SaveXML
SetProperty
cRootNode
Class wwPDF
PDF Drivers and Configuration
Adobe Distiller wwDistiller
GhostScript and wwGhostScript
XFRX and wwXFRX
AmyUni and wwAmyUni
ActivePdf and wwActivePdf
wwPDF Examples
PDF Browser display issues
PrintReport
PrintReportToString
cErrorMsg
cPrinterDriver
Class wwWebGraphs
Downloading Office Web Components and Licensing
Example code
SetGraphicsOptions
Clear
GetGraphTypes
GetOutput
ShowGraphFromArrays
ShowGraphFromCursor
ShowGraphFromMultiDimensionalA
cBackcolor
cCaption
cOWCProgId
cImageName
cLogicalPath
cPhysicalPath
cSeries1Color
nGraphType
nImageHeight
nImageTimeout
nImageWidth
nShowLegend
oOWC
Class wwXMLAdapter
GetCursor
GetDiffGram
GetTable
Class wwScripting
Example of using wwScripting
Class wwScriptingResponse
Clear
End
GetOutput
Write
lResponseEnded
Class wwScriptingHttpResponse
AddCacheHeader
AddCookie
AddForceReload
AppendHeader
BasicAuthentication
Redirect
RenderHttpHeader
Expires
HttpVersion
Status
RenderAspScript
ExecScript
MergeText
cCompiledPath
cErrorMsg
cErrorHeader
lEditErrors
lError
lSaveVfpSourceCode
oException
cScriptCode
cScriptResponseClass
cVFPCode
lNoVersionCheck
lShowFullErrorInfo
lStopOnError
Class wwLocaleInfo
GetLocaleInfo
GetLocalesFromSystem
LocaleLookup
LocaleLookupTable
SetLocaleInfo
cCountry
cCurrencyLocation
cCurrencySymbol
cDateFormat
cDateSeparator
cDecimalPoint
cEnglishCountry
cLocaleName
cThousandsSeparator
cTimeSeparator
l24HourTime
nLocaleId
nLocaleId
Class wwCodeUpdate
Requirements
How wwCodeUpdate works
Quick Update Checklist
CreateHTTPClient
DownloadUpdate
GetVersionInfo
RunUpdateExe
SwapExes
cApplicationName
cDownloadPath
cErrorMsg
cExeFile
cOnlineFileUrl
cUserMessage
cVersionType
cVersionUrl
cXML
lError
lShowDialog
nConnectTimeout
nFileSize
oHTTP
vOnlineMinVersion
vOnlineVersion
Class wwAPI
ActivateWindow
CharToBin
CopyImage
CreateProcess
CreateProcessEx
CreateThumbnail
GetCaptchaImage
GetImageInfo
GetSpecialFolder
GetTimeZone
GZipCompressString
GZipUncompressString
HashMD5
InstallPrinterDriver
ReadImage
ResizeImage
RotateImage
Sleep
Win32_NullString
WriteImage
Ping
Win32_SendMessage
Win32_Sleep
aProfileSections
CopyFile
CreateGUID
DecodeDbf
EncodeDbf
EnumKey
FromUtcTime
GetClipboardText
GetComputerName
GetDomainFromIp
GetIpFromDomain
GetLastError
GetMonitorStatus
GetProfileString
GetSystemDir
GetSystemErrorMsg
GetTempPath
GetUserName
GetUtcTime
ImpersonateUser
InstallPrinter
LogonUser
MessageBeep
PlayWave
ReadRegistryString
RevertToSelf
UnzipFiles
WriteProfileString
WriteRegistryString
ZipFiles
Class wwJsonSerializer
JSON Serialization Formats
Serialize
Deserialize
PropertyExclusionList
TrimStringValues
Class wwDotNetBridge
What is wwDotnetBridge?
wwDotnetBridge Features
wwDotNetBridge Examples
Main Functionality Example
Using ComArray Instances for Array Access
Accessing Arrays
Accessing Collections
Generic Type Limitations in .NET
Retrieving Exception Information
Array Manipulation Methods
AddArrayItem
GetArrayItem
SetArrayItem
RemoveArrayItem
CreateArrayOnInstance
CreateArray
Custom Type Conversions
Using ConvertToDotNetValue() for unsupported Types
Array Results are returned as ComArray objects
DataSets Results are converted in XmlAdapters
Guid Results are returned as ComGuid Instance
Type Casting Numbers to match .NET Types
Passing Binary Values to .NET
.NET Wrapper Types and Value Fixups
Class ComGuid
Constructor
Empty
New
Guid
GuidString
Class ComArray
Constructor
AddItem
AssignFrom
AssignTo
Clear
CreateArray
CreateEmptyArray
CreateItem
Item
RemoveItem
SetItem
Count
Instance
Length
Class ComValue
Constructor
SetByte
SetDbNull
SetDecimal
SetInt16
SetInt64
SetValueFromInvokeMethod
SetValueFromProperty
SetValueFromStaticProperty
Value
Frequently Asked Questions
Viewing .NET Type and Assembly Info with Reflector
Explict .NET Runtime Version Specification
Loading Assemblies from Network Locations
Method Not Found Errors
Type not Loaded Errors
CreateArray
CreateInstance
ConvertToDotNetValue
CreateInstanceOnType
CreateComValue
DataSetToXmlAdapter
DataSetToCursors
CursorToDataSet
GetEnumValue
GetEnumString
GetProperty
GetPropertyEx
GetStaticProperty
GetType
GetwwDotNetBridge
Init
InvokeMethod
InvokeMethod_ParameterArray
InvokeStaticMethod
Load
LoadAssembly
RunThread
SetProperty
SetPropertyEx
SetStaticProperty
Unload
XmlAdapterToCursors
XmlAdapterGetCursor
ConvertToDotNetValue
XmlStringToDataSet
cErrorMsg
oLastException
lError
Class wwJsonService
Hooking up wwJSONService
CallMethod
Error
AllowedMethods
Class wwRegEx
MultiLine
Matches
IgnoreCase
Global
Test
Replace
Match
aRestoreExpressions
aStripExpressions
Class wwAsyncWebRequest
How wwAsyncWebRequest works
Using SQL Server Tables
oEvent
SubmitEvent
CheckForCompletion
CompleteEvent
LoadEvent
SaveEvent
CancelEvent
DeleteEvent
GetNextEvent
GetProperty
SetProperty
Close
Open
Reindex
cAlias
cDataPath
cErrorMsg
cFileName
lError
nDefaultExpire
nSQLMode
Tools, Add-Ons and Resources
Class wwwebserver
cApplicationPool
createscriptmap
createvirtual
gettemppath
getwebrootpath
setservertype
cIISVirtualPath
cservertype
The wwThreads Message board
Setup
FileDelete Utility
GenEditRecord.Prg
GetConstants Utility
Interactive Photo Album Sample application
JsMinifier Javascript White Space and Comment Stripper
Table and Index Structure Exporter
TextWrapper Utility
West Wind Web Monitor