PowerTCP WebServer for ActiveX
from $499.00Available Platforms
Build web applications in any familiar software development environment. Use WebServer for ActiveX to add web-based access to traditional compiled applications.
- WebServer ActiveX control accepts HTTP and HTTPS connections, turning ANY application into a custom Web Server.
- Control security aspects of HTTPS.
- Events are raised as HTTP requests arrive, with default operation returning web pages off disk (unless you provide event handling code).
- Complete control when building dynamic HTML content by setting properties of the Response object.
- Session, Request, and Response objects manage dynamic behavior and content.
- Program in your preferred development environment; just add your logic to respond to any request.
- Supports COM+ Component Services.
- Can be used in a multi-threaded environment.
- Includes a royalty-free license.
- Wrapper classes included for convenient integration into Visual C++.
Included with PowerTCP WebServer for ActiveX
- 16 Controls/Objects.
- 15 Full Sample projects.
- Debug Server for debugging and protocol testing.
- Full MS Help 1.3 Documentation, including examples.
- Free Introductory Support.
Component | Description |
---|---|
Service Control | Use to make your application into an NT Service. |
WebServer Control | Use to build web-based applications from within Visual Basic or any other development environment that supports ActiveX controls. |
CertificateList Control | Presents the user with an interface to select certificates. |
Certificate Object | Use to access information about a digital certificate. |
Certificates Object | Collection of Certificate Objects. |
CertificateStore Object | Use to gain access to a store of certificates on the local system. |
Cookie Object | Use to manage cookies. |
Cookies Object | Collection of Cookie Objects. |
DartStream Object | Use the DartStream Object to manage a streamed buffer to/from memory or a file. |
HttpHeaderFields Object | Use to manage HTTP header fields. |
HttpVariable Object | Use to store and manage variables. |
HttpVariables Object | Collection of HttpVariable Objects. |
Request Object | Use to obtain information about the current request. |
Response Object | Use to manage information sent back to the client. |
Session Object | Use to manage information describing a client session. |
Sessions Object | Use the Sessions Object to manage multiple Session Objects. |
Supported Environments
Operating Systems*: Server 2008, 2012, Windows 7, Windows 8, Windows 10, Server 2016
PowerTCP WebServer for ActiveX can be used in the following development environments:
- Visual Basic
- Visual C++
- FoxPro
- VBScript (wscript, cscript, etc)
- Microsoft Office VBA
Visual Basic
Looking to create an HTTP Server in Visual Basic? PowerTCP WebServer for ActiveX contains 8 full sample projects for Visual Basic, including a full-blown Visual Basic Web Server!
Visual C++
PowerTCP WebServer for ActiveX includes C++ wrapper classes to make creating HTTP servers in C++ even easier. In addition, 2 full sample projects are included.
Code Examples
Sample Projects Included
The PowerTCP WebServer for ActiveX samples are fully working applications and include complete source code.Sample Name | Sample Description | Environments |
---|---|---|
Cookie Test | Shows how to check for client-side cookie support, and how to set/read cookies on the client. | VB 6 |
MultiInterface | Demonstrates how to create an application that can serve a similar interface on both the Windows operating system and the Internet. This also includes a secondary web server that acts as a remote security control for the application. | VB 6 |
Web FAQ | Demonstrates a simple web-based database application that shows adding and presentation of answers to Frequently Asked Questions. | VB 6 |
Web Server | A secure web server that can be configured to listen on any port. | VB6, VC6 |
Web Service | To demonstrate how to use PowerTCP WebServer for ActiveX to write a simple HTTP/HTTPS web server. When compiled, this application can be run as a Service using the PowerTCP NT Service Control. | VB 6 |
XML Database | Demonstrates how to use the WebServer Control to serve XML code. This sample requires ADO version 2.1 or higher and Microsoft's XML Parser v3 or higher. Please refer to the Readme file installed with the sample or the sample itself if you need to download the latest versions from Microsoft. | VB 6 |
WebServer for ActiveX also includes the following application(s):
Application | Description |
---|---|
Debug Server | This server application is based upon one of Dart's own internal testing tools and is designed to help developers debug their client-side applications by being able to see the message sent from a client application. Then, a developer can respond to the client application with a customized response message sent from the server. |
ASP (Online) Samples
Our ASP samples give a live, onsite demonstration of our tools.
Sample Name | Sample Description | Environments |
---|---|---|
Web Forum | Web Forum, written by Dart's Technical Support Staff, provides a message forum that incorporates email, technical articles, and search capabilities. | VB 6 |
dartwebserver.dll dartcertificate.dll dartsecure2.dll dartserver.dll dartservice.dll dartsock.dll dartwebutil.dll
dartwebserver.dll
Current Version: 1.9.5.0
1.9.5.0 Released: 2015-11-13
- TLS 1.1 and TLS 1.2 support has been added.
Product fixes in this release:
- Files added to the default files collection will now be served correctly. (5730)
- Files created through a Post action will no longer be automatically deleted once the Post event completes. (5755)
1.9.4.0 Released: 2013-06-14
Product fixes in this release:
- Resolved a Com registration error.
- The variable length limit has been raised from 8000 characters to 16385 characters. (5656)
- Posts with a negative post length now cause the Web Server control to respond with a 400 Bad Request response. (5657)
1.9.2.0 Released: 2012-07-10
- There are now separate "Trial" and "Licensed" versions of the dll. Trial dlls are not for deployment and will only function on machines on which a trial version of the product has been installed.
1.9.1.0 Released: 2012-02-09
Product fixes in this release:
- Eliminated possibility of getting debug assertions under specific error conditions.
1.9.0.0 Released: 2011-07-29
- No longer vulnerable to attacks outlined in Microsoft Security Bulletin MS09-035 (http://www.microsoft.com/technet/security/bulletin/MS09-035.mspx).
- Now functions on all Data Execution Protection (DEP) enabled systems.
dartcertificate.dll
Current Version: 2.11.0.0
2.11.0.0 Released: 2015-11-13
- Version change.
2.10.5.0 Released: 2013-05-24
Product fixes in this release:
- Programmatically setting the SelectedIndex of the CertificateList control will now correctly highlight the selected certificate. (5492)
- The CertificateList control now only allows one selection at a time. (5493)
2.10.4.0 Released: 2013-05-10
Product fixes in this release:
- Resolved a com registration error.
2.10.2.0 Released: 2012-07-10
- There are now separate "Trial" and "Licensed" versions of the dll. Trial dlls are not for deployment and will only function on machines on which a trial version of the product has been installed.
2.10.1.1 Released: 2012-02-09
Product fixes in this release:
- Fixed CertificateList filter so that all certificates matching the criteria appear. (5495)
2.10.0.1 Released: 2010-03-26
- Now functions on all Data Execution Protection (DEP) enabled systems.
- No longer vulnerable to attacks outlined in Microsoft Security Bulletin MS09-035 (http://www.microsoft.com/technet/security/bulletin/MS09-035.mspx).
dartsecure2.dll
Current Version: 2.2.0.0
2.2.0.0 Released: 2015-11-12
- The ProtocolConstants enumeration has been restructured to behave as a flag enumeration in order to better support specifying specific versions of secure protocols.
- Support for TLS 1.1 and TLS 1.2 added on supported operating systems.
2.1.5.0 Released: 2013-05-24
- FTP over SSL and POP over SSL functionality are now provided by our PowerTCP FTP for ActiveX and PowerTCP Mail for ActiveX controls. As such, references to the Secure Pop and Secure Ftp dlls should be replaced by references to DartFtp.dll and DartMail.dll respectively.
Product fixes in this release:
- Segmented SSL negotiation packets will no longer cause a timeout to occur. (4586)
2.1.4.0 Released: 2013-05-10
Product fixes in this release:
- SSL2 negotiation and SSL negotiation on Windows 8 now work as expected. (5683, 5691)
2.1.2.0 Released: 2012-07-10
- There are now separate "Trial" and "Licensed" versions of the dll. Trial dlls are not for deployment and will only function on machines on which a trial version of the product has been installed.
2.1.1.0 Released: 2012-02-09
Product fixes in this release:
- Fixed condition under which the ValidSignature argument in the Certificate event would incorrectly be true.
2.1.0.1 Released: 2010-03-26
- Now functions on all Data Execution Protection (DEP) enabled systems.
- No longer vulnerable to attacks outlined in Microsoft Security Bulletin MS09-035 (http://www.microsoft.com/technet/security/bulletin/MS09-035.mspx).
dartserver.dll
Current Version: 3.2.5.0
3.2.5.0 Released: 2013-05-17
Product fixes in this release:
- Resolved a Com registration error.
- Resolved an issue that could cause a crash when using the Server control as a proxy. (5695)
3.2.3.0 Released: 2012-07-10
- There are now separate "Trial" and "Licensed" versions of the dll. Trial dlls are not for deployment and will only function on machines on which a trial version of the product has been installed.
3.2.2.0 Released: 2012-02-09
- No changes from 3.2.1.0.
3.2.1.0 Released: 2011-01-25
- Number update to match product version.
3.2.0.0 Released: 2010-07-26
- No longer vulnerable to attacks outlined in Microsoft Security Bulletin MS09-035 (http://www.microsoft.com/technet/security/bulletin/MS09-035.mspx).
- Now functions on all Data Execution Protection (DEP) enabled systems.
dartservice.dll
Current Version: 3.2.5.1
3.2.5.1 Released: 2013-05-17
Product fixes in this release:
- Resolved a Com registration error.
- The Service control now functions correctly on 64-bit operating systems. (4764)
3.2.3.0 Released: 2012-07-10
- There are now separate "Trial" and "Licensed" versions of the dll. Trial dlls are not for deployment and will only function on machines on which a trial version of the product has been installed.
3.2.2.0 Released: 2012-02-09
- No changes from 3.2.1.0.
3.2.1.0 Released: 2011-01-25
- Number update to match product version.
3.2.0.0 Released: 2010-07-26
- Now functions on all Data Execution Protection (DEP) enabled systems.
- No longer vulnerable to attacks outlined in Microsoft Security Bulletin MS09-035 (http://www.microsoft.com/technet/security/bulletin/MS09-035.mspx).
dartsock.dll
Current Version: 2.11.0.0
2.11.0.0 Released: 2015-11-13
- Version change.
2.10.2.1 Released: 2013-05-08
Product fixes in this release:
- Resolved a com registration error.
- Resolved an issue where DartStrings would be empty when reading and splitting a large file with delimiters. (5117)
- Resolved a memory leak when calling the Udp.Receive(DartStream) overload. (5536)
2.10.0.1 Released: 2012-07-10
- There are now separate "Trial" and "Licensed" versions of the dll. Trial dlls are not for deployment and will only function on machines on which a trial version of the product has been installed.
2.9.1.0 Released: 2012-02-09
- No changes from 2.9.0.3.
2.9.0.3 Released: 2010-10-26
- CertificateList and CertificateStore are now licensed controls in PowerTCP Mail for ActiveX.
2.9.0.2 Released: 2010-07-26
Product fixes in this release:
- Fixed problem getting DartStrings.All when the collection is empty.
2.9.0.1 Released: 2010-04-28
- Now functions on all Data Execution Protection (DEP) enabled systems.
- No longer vulnerable to attacks outlined in Microsoft Security Bulletin MS09-035 (http://www.microsoft.com/technet/security/bulletin/MS09-035.mspx).
2.9.0.0 Released: 2010-02-11
Product fixes in this release:
- The StartAfter parameter of DartStrings.Find can now be greater than 65535. (4707)
- Ras Phonebook entries can now have names with multibyte characters. (4875)
2.8.5.0 Released: 2008-03-19
Product fixes in this release:
- It is now possible to edit and add to Ras PhoneBooks on Vista machines. (4225)
- Two running instances of the same application using the Ping control are now completely independent. (4583)
2.8.3.27 Released: 2008-02-04
Product fixes in this release:
- DartStrings.Remove now works with a string parameter. (4262)
- NoDelay and KeepAlive properties can now be set to false on Vista machines. (4351)
- DartStrings.Add now works when adding strings to the end of the collection by specifying an index parameter. (4632)
dartwebutil.dll
Current Version: 1.9.3.0
1.9.3.0 Released: 2013-06-14
Product fixes in this release:
- Resolved a Com registration error.
1.9.2.0 Released: 2012-07-10
- There are now separate "Trial" and "Licensed" versions of the dll. Trial dlls are not for deployment and will only function on machines on which a trial version of the product has been installed.
1.9.1.0 Released: 2012-02-09
- No changes from 1.9.0.0.
1.9.0.0 Released: 2011-07-29
- No longer vulnerable to attacks outlined in Microsoft Security Bulletin MS09-035 (http://www.microsoft.com/technet/security/bulletin/MS09-035.mspx).
- Now functions on all Data Execution Protection (DEP) enabled systems.
NT Service ActiveX Control
The NT Service control is used to turn any application into an NT Service. Features include:
- Easily turn any server applications built using PowerTCP products into services.
- Applications built with the Service Control target server-side applications that always run in the background, even when a user is not logged into the system.
- With the Service control you can respond to all service events, including Start, Stop, Pause, and Resume. The Message event is included to support user messages sent from external applications. The Log method is included for logging event messages.
- Convenient Install and Uninstall methods provide a way for your application to install and uninstall itself as a service. The Abort method allows your service to abort and stop itself while running.
Interface Members
Public Properties | |
Params | Contains the parameters passed to your service. This property may be read when the State property is serviceRunning. |
State | Determine what state the service is in. The State event fires to signal that this property has changed. |
Public Methods | |
Abort | Abort and stop a running service. |
About | Show the About Box. |
Connect | Connect the service to the operating system’s Service Control Manager (SCM). Call this method as soon as possible after your application starts. |
Install | Install the application as a service. |
Log | Enter an event in the Windows Event Log. |
Uninstall | Uninstall a service. |
Public Events | |
Error | Fires when an error occurs. This event fires before the error is reported back to the container's error object |
Message | Fires when an application sends the service a user message. This can be used any way you wish, as it has no special meaning to the operating system. |
State | Fires to indicate the State property has changed value. |
Code Example
How easy is the NT Service control to use? Check out the following Service VB example below, which demonstrates creating an echo service with the Server control.
Private Sub Form_Load()
On Error GoTo OnError ' use intrinsic error handling
'Connect to the Service Control Manager
Service1.Connect
Exit Sub
OnError: ' Any error jumps here
Debug.Print "Error #" + CStr(Err.Number) + ": " + Err.Description
End Sub
Private Sub Service1_State()
On Error GoTo OnError ' use intrinsic error handling
Dim I As Integer
Select Case Service1.State
Case serviceRunning
' service is now running, beep to the world!
Beep
' Start the Echo Server
Server1.Listen 7
Case servicePaused
' service is now going to sleep, stop listening for new connections
Server1.Close
Case serviceResumed
' service is now waking up from sleep, resume listening!
Server1.Listen 7
Case serviceStopped
' service is now stopping, log a message to Windows event log
Service1.Log serviceInformation, serviceInfoEvent, “Stopping”
' stop listening for new connections
Server1.Close
' shut down all active connections
For I = 1 To Server1.Children.Count
Server1.Children(I).Close
Next
End Select
Exit Sub
OnError: ' Any error jumps here
Debug.Print "Error #" + CStr(Err.Number) + ": " + Err.Description
End Sub
WebServer ActiveX Control (HTTP, HTTPS)
Use the WebServer control to turn any application into a custom HTTP Web Server. Build Web Applications in a familiar software environment. Features include:
- Allows you to create a server side web application without having to learn ASP, Cold Fusion or other web application development environment.
- Give a web interface to any stand-alone application.
- Compatible with MS SOAP library (create a SOAP server).
- Supports HTTPS.
Development Environments
- Visual Studio .NET (.NET Framework)
- Visual Basic (VB)
- Visual C++ (VC++)
- FoxPro
- PowerBuilder
- Delphi
- C++ Builder
- Office 97/2000
Interface
Public Constructors | |
WebServer | Build web-based applications from within Visual Basic or any other development environment that supports ActiveX controls. |
Public Properties | |
Certificate | Certificate Object to use when authenticating to the remote host. |
ClientAuthentication | Applies to server operation only. |
Count | Number of nonsecure TCP connections currently open. |
DefaultFiles | Collection of default filenames. |
LocalAddress | Returns the address in use while the Daemon is active and an empty string when the Daemon socket is closed. |
LocalPort | Returns the port number in use while the Daemon is active and 0 when the Daemon is closed. |
LocalSecureAddress | Returns the local host address being used for accepting secure connections. The format is dot notation (for example, nnn.nnn.nnn.nnn). A non-empty value indicates the WebServer Control is accepting secure HTTP requests. |
LocalSecurePort | Returns the port number being used for accepting secure connections. A non-zero value indicates the WebServer Control is accepting secure HTTP requests. |
LogDirectory | Directory for daily log files. The default value is an empty string. |
MaxIdleTime | Amount of time a session can remain idle before expiring. |
MaxMemBuffer | Maximum number of memory bytes used when receiving the body of a request. |
PlaceCookies | Controls whether cookies are sent. Only affects the automatic Dart Cookies. |
Protocol | Specifies the security protocol used. |
PutLength | Controls whether the Content-Length is inserted in the header. |
RootDirectory | Root directory for web pages. |
SecureCount | Number of secure connections currently open. |
Sessions | Collection of active Session Objects. |
UseTemp | Gets or sets whether or not to place uploaded files in the temp directory. |
Public Methods | |
About | Show the About Box. |
Pause | Stop the server from accepting new connections, while allowing established connections and sessions to persist. |
Start | Start processing HTTP/HTTPS requests. |
Stop | Stop the server from accepting new connections and immediately close existing client connections. |
Trace | Start or stop the accumulation of trace or debug data. Once started, this method accumulates data until it is turned off. |
Public Events | |
Authenticate | Fires when the remote host has sent a certificate to be authenticated. |
Error | Fires whenever an error condition occurs. |
Get | Fires when a GET request is received. By default, file information and content is sent back to the client. Place code within this event to modify the default response. |
Head | Fires when a HEAD request is received. By default, header information is sent back to the client. Place code within this event to modify the default response. |
Post | Fires when a POST request is received. By default, a status of "Forbidden" is returned. Place code within this event to modify the default response. |
Put | Fires when a PUT request is received. By default, a status of "Forbidden" is returned. Place code within this event to modify the default response. |
Request | Fires when an unknown request is received. |
SessionEnd | Fires before a session is destroyed. |
SessionInit | Fires after a new session is created. |
Code Example
How easy is the WebServer control to use? Check out the following VB example below, which demonstrates "starting" a webserver, then responding to an HTTP GET request (which causes the WebServer component's Get event to fire).
Private Sub Command1_Click()
On Error GoTo OnError ' use intrinsic error handling
' Start a non-secure server on port 8080
WebServer1.Start 8080, -1
Exit Sub
OnError: ' Any error jumps here
Debug.Print "Error #" + CStr(Err.Number) + ": " + Err.Description
End Sub
Private Sub WebServer1_Get(ByVal Session As DartWebServerCtl.ISession,_
ByVal Request As DartWebServerCtl.IRequest,_
ByVal Response As DartWebServerCtl.IResponse)
On Error GoTo OnError ' use intrinsic error handling
Response.Header(httpServer) = "My Web Server/1.0"
' Add other headers here.
If Response.Status = httpOK Then
' found template page...
Else
' page not found: return default error page
End If
Exit Sub
OnError: ' Any error jumps here
Debug.Print "Error #" + CStr(Err.Number) + ": " + Err.Description
End Sub
Purchase Options
Customize your product and support options match your needs. Discounts are applied when products are purchased in multiples or within available product suites.
Have any questions about purchasing? See our Sales FAQ