PowerTCP SSL for ActiveX

from $999.00
Available Platforms

Use the same security protocol that protects secure transactions world-wide. Secure Socket Layer (SSL) authentication and encryption will ensure your data stays private as it travels across the public network.

 

  • New! Includes 64-bit dlls.
  • New! IPv6 support.
  • New! TLS 1.2 and 1.1 support.
  • Capable of SSL over FTP through a Firewall.
  • Support for all major SSL over FTP standards and configurable to other non-standard implementations!
  • Includes full FTP support for large files (files over 2 GB in size).
  • Supports secure implementations of Globalscape(TM), WS_FTP(TM), and SERV_U.
  • Compatible with common UNIX libraries such as OpenSSL and Certicom Plus(TM).
  • CertificateStore enables the ability to create your own certificates.
  • Automatically authenticates and encrypts/decrypts data sent and received over the Internet or your intranet using SSL2, SSL3, PCT or TLS.
  • Secure ActiveX COM controls for TCP,  TCP Server, POP3, FTP, and FTP Server.
  • Non-secure TCP and Daemon controls are also included for building proxy server applications.
  • Supports client-side AND server-side authentication.
  • Write HTTP/S applications that provide client-side authentication WITHOUT displaying an annoying dialog asking the user to select his security certificate.
  • CertificateList ActiveX control makes it easy to manage digital certificates.
  • Certificate COM object exposes the details of digital certificates sent and received.
  • CertificateStore COM object exposes collections of installed Certificate objects for management purposes for both the Current User and Local Machine, enabling the construction of Secure Servers that can also run as Services.
  • Properties and events for certificate authentication give you complete control over what you will accept or reject.
  • 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++.

 

  • 22 Controls/Objects.
  • 25 sample projects with source.
  • Full MS Help 1.3 Documentation, including examples.
  • Free Introductory Support.

 

Component Description
CertificateList Control Presents the user with an interface to select certificates.
Daemon Control Accepts TCP connections.
Ftp Control Copies files between a local client and an FTP server that supports the SSL2.0/30, TLS or PCT security protocols.
SecureFtpServer Control Use to build into your application a fully-functioning standalone or custom secure FTP server.
Pop Control Use to retrieve mail from a POP3 server that supports the SSL 2.0/3.0, TLS or PCT security protocols.
SecureServer Control Use to quickly build custom server applications that use authentication and encryption
SecureTcp Control Manages streams of data that require security.
Service Control Use to make your application into an NT Service.
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.
Children Object Provides a collection of SecureTCP Objects that have been dynamically created.
DartStream Object Use the DartStream Object to manage a streamed buffer to/from memory or a file.
FtpVariable Object Use to store and manage variables.
FtpVariables Object Collection of FtpVariable Objects.
ListEntry Object Provides easy access to file information provided by an FTP listing.
ListEntries Object Collection of ListEntry Objects.
Message Object Transforms any Internet mail message into an object that you can easily manipulate with code. Also provides stand-alone MIME encoding and decoding.
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.
User Object Use to obtain information about the current user and to indicate that a client has been authenticated.

  

Supported Environments

Operating Systems: XP, Windows Server 2003, Vista, 2008, Windows 7 

See the .NET version of this product >

PowerTCP SSL for ActiveX can be used in the following development environments:

  • Visual Basic
  • Visual C++
  • FoxPro
  • ASP
  • VBScript (wscript, cscript, etc)
  • MS Office VBA

 

Visual Basic
Looking to integrate SSL into Visual Basic? PowerTCP SSL for ActiveX contains 10 full sample projects for Visual Basic, including a full-blown secure FTP Client, FTP Server, POP Client, and Web Server!

 

Visual C++
PowerTCP SSL for ActiveX includes C++ wrapper classes to make SSL integration into C++ even easier. In addition, 4 full sample projects are included.

 

Sample Projects Included

The SSL for ActiveX samples included with the installation are fully working applications with complete source code.
Sample Name Sample Description Environments
FTP Client Demonstrates a simple FTP client that can be used with the Secure FTP Server sample. VB 6, VC 6
GetSite Uses the Mget method to retrieve an entire directory tree. VB 6, VC++ 6
PutSite Uses the MPut method to store an entire directory tree. VB 6, VC++ 6
Secure FTP Server Uses the SecureFtpServer Control to demonstrate a simple Secure FTP server. Use it with the Secure FTP Client. VB 6, VC 6
Secure Echo Server Demonstrates a simple secure Echo server. VB 6, VC 6
Secure TCP Client Uses the SecureTcp Control to make SSL connections to any secure port. VB 6, VC 6
Secure Web Alive A secure version of the Web Alive sample which compares the download performance of any 2 web pages. Useful for comparing the relative performance of mirrored Web Servers. VB 6
POP Client Demonstrates a simple POP mail client that can be used with any POP server that supports secure communications. VB 6

 

Product Release History

The following is a list of public releases for all components shipped with PowerTCP SSL for ActiveX (Latest Release 2017-12-07)

 

dartsecure2.dll   dartcertificate.dll   dartftp.dll   dartftputil.dll
   dartmail.dll   dartsecureftp.dll   dartsecureftpserver.dll   dartsecuremail.dll
   dartserver.dll   dartservice.dll   dartsock.dll   dartutil.dll   dartzip.dll

 

 

dartsecure2.dll

   Current Version: 2.2.3.0

 

 

2.2.3.0   Released: 2017-12-07


 

  • Updated RemotePort and LocalPort properties to return the correct values when using IPv6.

 

 

2.2.2.0   Released: 2017-11-09


 

Product fixes in this release:

  • Corrected an incompatibility in SecureServer.Listen

 

 

2.2.1.1   Released: 2017-10-26


 

  • Now includes 64-bit dlls.
  • Support for IPv6 has been added.
  • Explicit TLS 1.1 and TLS 1.2 support has been added.

 

 

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).

 

 

dartcertificate.dll

   Current Version: 2.11.1.0

 

 

2.11.1.0   Released: 2017-10-26


 

  • Now includes 64-bit dlls.

 

 

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).

 

 

dartftp.dll

   Current Version: 2.2.2.0

 

 

2.2.2.0   Released: 2017-12-07


 

  • Updated RemotePort and LocalPort properties to return the correct values when using IPv6.

 

 

2.2.1.0   Released: 2017-11-14


 

  • Now includes 64-bit dlls.
  • Support for IPv6 has been added.

 

 

2.2.0.0   Released: 2017-04-27


 

  • Revised ProtocolConstants enumeration to provide explicit support for TLS 1.1 and TLS 1.2.
  • Reformatting and updates, to help documentation

 

 

2.1.4.0   Released: 2013-05-24


 

Product fixes in this release:

  • The atFirewallReady authentication type constant has been removed due to obsolescence.
  • Inclusion of DartSecure2.dll version: 2.1.5.0

 

 

2.1.3.0   Released: 2013-05-10


 

Product fixes in this release:

  • Improved operation when connecting to servers using implicit or explicit security.
  • Resolved a Com registration error.
  • Automatic SSL negotiation after a successful AUTH TLS-P command now occurs. (4561)

 

 

2.1.1.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.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).

 

Product fixes in this release:

  • Uploading data in memory (instead of a file on disk) now works as expected. (4786)
  • Addressed a fatal exception condition when using the Command method with a Timeout of 0. (4929)
  • Explicitly secure data connections no longer timeout with vsFTPd servers. (5114)
  • SecretKey property is no longer vulnerable to buffer overflow. (5148)

 

 

dartftputil.dll

   Current Version: 3.2.5.0

 

 

3.2.5.0   Released: 2017-11-13


 

  • Now includes 64-bit dlls.

 

 

3.2.4.1   Released: 2013-05-17


 

Product fixes in this release:

  • Resolved a Com registration error.

 

 

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.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).

 

 

dartmail.dll 

 Current Version: 2.13.1.0

 

 

2.13.1.0   Released: 2017-12-07


 

  • Update to version number.

 

 

2.13.0.0   Released: 2017-10-26


 

  • Now includes 64-bit dlls.
  • Support for IPv6 has been added.
  • Explicit TLS 1.1 and TLS 1.2 has been added.

 

Product fixes in this release:

  • BOM bytes are no longer left in decoded text intermittently. (5761)

 

 

2.12.0.0 Released: 2015-11-12


 

  • TLS 1.1 and TLS 1.2 support has been added.

 

Product fixes in this release:

  • Trailing spaces will no longer be dropped when filenames are folded over more than one line. (5420)
  • The 998 character per line limit for the message body will now be correctly enforced. (5476)
  • Content-Disposition file name headers will now be used over Content-Type name headers. (5731)
  • Whitespace character between encoded words will now be removed as expected. (5732)
  • None authentication will now work as expected. (5743)
  • DisplayName are now taken into account when generating sending RCPT TO headers using SMTP. (5744)
  • Updated the default SMTP server port from 25 to the submission port 587 to conform with RFC2476. (5752)

 

 

2.11.4.0   Released: 2013-07-09


 

Product fixes in this release:

  • Inclusion of DartSecure2.dll version: 2.1.5.0
  • The PLAIN authentication mechanism will now be selected and used when it is available in the SMTP server's capabilities. (5718, 5719)

 

 

2.11.3.0   Released: 2013-05-07


 

Product fixes in this release:

  • Resolved a com registration error.
  • Resolved an issue where attachment file names could be unfolded incorrectly. (5420)

 

 

2.11.1.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.11.0.0   Released: 2010-10-26


 

Product fixes in this release:

  • Fixed licensing problem with the new CertificateList and CertificateStore controls.

 

 

2.10.0.15   Released: 2010-06-25


 

  • 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).
  • PowerTCP Mail for ActiveX now supports SSL! Implicit and Explicit security modes.
  • BinHex attachment encoding and decoding now supported.

 

Product fixes in this release:

  • Fixed issue with inserting a Part to the end of a Parts collection (occurred only if the index was specified). (4632)
  • Fixed a memory leak in the Message object. (4931)
  • Store method with the msgDecoded option no longer removes the Date and From headers. (5002)
  • Fixed decoding issue when MIME boundaries begin with a space. (5003)

 

 

2.9.4.1   Released: 2008-06-27


 

Product fixes in this release:

  • Corrected problem introduced in 2.9.4.0, in which the last address in the TO and CC collections would be removed. (4768)

 

 

2.9.4.0   Released: 2008-05-16


 

  • Smtp.Verify now provides flexibility regarding the MAIL FROM address. The control will now use the Smtp.From address if it set. If this property is not set, the address being verified will be used.

 

Product fixes in this release:

  • Now support atypical messages which define a second, malformed MIME boundary. (4290)
  • Increased SMTP HELO support for machines with Unicode names. (4631)
  • Documentation for the Message.Encode property has been clarified. It is not possible to encode to a string data type. (4640)
  • Fixed an Imap memory problem caused by messages with corrupt attachment names. (4661)

 

 

dartsecureftp.dll

   Current Version: 2.9.0.0

 

 


2.9.0.0   Released: 2012-07-10


 

  • DartSecureFtp.dll is no longer distributed. The Ftp control (which support secure connections) has replaced the SecureFtp control.

 

 

dartsecureftpserver.dll

   Current Version: 2.9.2.1

 

 


2.9.2.1   Released: 2017-11-13


 

  • Now includes 64-bit dlls.
  • Support for IPv6 has been added.
  • Explicit TLS 1.1 and TLS 1.2 has been added.

 

 

2.9.1.1   Released: 2013-05-24


 

Product fixes in this release:

  • The atFirewallReady authentication type constant has been removed due to obsolescence.
  • Storing a file with STOU now works correctly. (4291, 5703, 5705)
  • Setting the Status response to 400 or higher in the Login event will now cause the Session.User property to be cleared, disallowing access to the server. (4717)
  • Command event parameters are now populated even if a user is not authorized to allow processing of command such as PBSZ and PROT before authorization. (5698)

 

 

2.9.0.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.

 

 

dartsecuremail.dll

   Current Version: 2.9.0.0

 

 

2.9.0.0   Released: 2012-07-10


 

  • DartSecureMail.dll is no longer distributed. The Pop control (which support secure connections) has replaced the SecurePop control.

 

 

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.6.1

 

 

3.2.6.1   Released: 2017-11-13


 

  • Now includes 64-bit dlls.

 

 

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.12.0.0

 

 

2.12.0.0   Released: 2017-12-07


 

  • Version change for installation kit.

 

 

2.11.1.0   Released: 2017-10-26


 

  • Now includes 64-bit dlls.
  • Support for IPv6 has been added.

 

 

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)

 

 

dartutil.dll

   Current Version: 2.12.0.0

 

 

2.12.0.0   Released: 2017-12-07


 

  • Version change for Winsock installation.

 

 

2.10.1.0   Released: 2017-10-26


 

  • Now includes 64-bit dlls.

 

 

2.10.0.0   Released: 2015-11-12


 

Product fixes in this release:

  • No bug fixes, version change.

 

 

2.9.3.0   Released: 2013-05-17


 

Product fixes in this release:

  • Resolved a Com registration error.

 

 

2.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.

 

 

2.9.1.0   Released: 2012-02-09


 

  • No changes from 2.9.0.1.

 

 

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.8.5.0   Released: 2008-03-19


 

Product fixes in this release:

  • Two running instances of the same application using the Ping control are now completely independent. (4583)

 

 

dartzip.dll 

 Current Version: 1.9.5.0

 

 

1.9.5.0   Released: 2013-07-01


 

Product fixes in this release:

  • Resolved a com registration error.
  • Zipping and spanning while using encryption will now produce compliant zip archives. (5336)
  • Calling Unzip on a FileStore object after adding files by calling FileStore.Load or FileStore.Add will no longer result in 0 length files. (5649)

 

 

1.9.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.

 

 

1.9.2.0   Released: 2010-09-07


 

Product fixes in this release:

  • Fixed problem extracting to streams introduced in 1.9.1.0. (5340)

 

 

1.9.1.0   Released: 2010-08-16


 

Product fixes in this release:

  • When an archive is loaded and zipped with a new name, the original archive is left untouched. (4913)
  • Timestamps are preserved for extracted files. (5311)

 

 

1.9.0.0   Released: 2010-02-11


 

  • The Self-Extract dialog was updated with a cleaner look.
  • The product now supports Winzip-compatible AES encryption, in addition to the Dart proprietary AES encryption.
  • Zip ActiveX is no longer vulnerable to attacks outlined in Microsoft Security Bulletin MS09-035 (http://www.microsoft.com/technet/security/bulletin/MS09-035.mspx).
  • Zip ActiveX should now function on all Data Execution Protection (DEP) enabled systems.

 

Product fixes in this release:

  • File attributes such as read-only are now preserved when extracted from the FileStore. (4423)
  • The archive comment functionality has been fixed. (5069)
  • Adding DartStreams with Filenames now works correctly. (5180)
  • Write errors will no longer occur if a file is accessed by another system process during extraction. (5195)

 

SecureTcp ActiveX Control

Use the SecureTcp control to automatically authenticate and encrypt/decrypt all data sent and received over a TCP connection using SSL2, SSL3, PCT, and TLS. Features include:

 

  • Select SSL 2.0, SSL 3.0, PCT, TLS or unencrypted TCP communications.
  • Customize certificate acceptance or rejection.
  • Client authentication fully supported.
  • TCP Send method sends data to the server.
  • TCP Receive method receives all available data.
  • TCP Search Method supports variable length records and line processing, eliminating the need to search for termination characters and simplifying buffer management.
  • TCP Fill Method supports fixed length binary records, simplifying buffer management and reducing the code needed to send and receive binary structures.
  • Proxy support, including Socks 4 and 5

 

Looking for the .NET version of this control?

 

Development Environments
  • Visual Studio .NET (.NET Framework)
  • Visual Basic (VB)
  • Visual C++ (VC++)
  • FoxPro
  • PowerBuilder
  • Delphi
  • C++ Builder
  • ASP
  • Office 97/2000

 

 

Interface 
Public Properties
Blocked A True value indicates the control is currently executing a blocking method (Timeout is greater than 0), which has neither completed nor timed out with a ptTimeout error.
Certificate Certificate Object to use when authenticating to the remote host.
ClientAuthentication Applies to server operation only.
KeepAlive When set to True, the KEEPALIVE socket option is set to monitor dropped connections. This option can only be set when the State property is tcpConnected.
LocalAddress Returns the address of the local host in dot notation (for example, nnn.nnn.nnn.nnn). When not connected, it returns an empty string.
LocalPort Returns the port number that the socket is bound to. When not connected, it returns 0.
NoDelay When True, the NODELAY socket option is set to defeat Nagle's algorithm
Protocol Specifies the security protocol used.
ProxyHost Specifies the name or address of the proxy server that requests are to be routed through.
ProxyPassword Password to be sent on all requests through a proxy server that requires authentication.
ProxyPort Specifies the port used by proxy server that requests are to be routed through.
ProxyType The type of proxy server used for this connection.
ProxyUsername Username to be sent on all requests through a proxy server that requires authentication.
ReceiveBufferCount Checks for the existence of data without removing it.
ReceiveBufferSize Number of bytes the system has for buffering incoming data
Ref Stores a reference to another object, data type, or value.
RemoteAddress Returns the address of the remote host in dot notation (i.e. nnn.nnn.nnn.nnn) when the State property is tcpConnected.
RemotePort Returns the port number of the remote host when the State property is tcpConnected.
ReuseAddress When True, the REUSEADDR socket option is set to accept duplicate use of the same LocalAddress / LocalPort pair (these are optional parameters of the Connect and Listen methods).
Security Sets the security level during communication.
SendBufferCount When the Send method is used, some data may be stored in a buffer and later submitted to the system. The Send event fires to indicate that the system has accepted the submitted data.
SendBufferSize Number of bytes the system uses for buffering outgoing data.
Socket System identifier assigned to the TCP connection. It is normally used to assume management of a socket accepted from the Daemon Control.
State Provides status information to the user interface. The State event fires to signal that this property has changed.
Timeout Controls the blocking behavior of methods that can be used in blocking and non-blocking ways.
Public Methods
Abort Abort any blocking method and release all system resources.
About Show the About Box.
ClearCertificate Clears the Certificate object contained in the Certificate property.
Close Close the session and release all system resources. A single control can be used for many connections, one after the other.
Connect Establish a secure connection.
Fill Use this method when you know exactly how many bytes or characters you want from the TCP stream.
Receive Receive an arbitrary amount of data. The specified String or Byte array is filled with bytes from the remote host.
Search Receive data up to and including a terminating sequence.
Send Send data after a connection is established.
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.
Certificate Fires when the remote host is requesting a certificate and the Certificate property is not set to a valid Certificate Object.
Error Fires when an error condition occurs.
Receive Fires when ReceiveBufferCount changes.
Send Fires when the system accepts data for sending.
State Fires when the State property changes.

 

 

Code Example

How easy is the SecureTcp component to use? This example demonstrates creating a simple secure TCP client.

 

Private Sub SecurityTest2()
' Perform all checks in the Authenticate event
SecureTcp1.Security = secureNormal

' Connect to a secure echo server. Security will be negotiated first.
SecureTcp1.Connect "myserver", 7

' Success! SSL connection established. Send some data
' just to test the SSL connection
SecureTcp1.Send ("test")

' Receive and print the response
Dim Data As String
Dim ByteCount As Long
ByteCount = SecureTcp1.Receive(Data)

Debug.Print Data

' Close connection
SecureTcp1.Close
End Sub

Private Sub SecureTcp1_Authenticate(ByVal RemoteCertificate As DartSecureFtpCtl.ICertificate,
ByVal TrustedRoot As Boolean, ByVal ValidDate As Boolean, ByVal ValidSignature As Boolean,
Valid As Boolean)
' The server's certificate has been received.
Dim Msg As String

' Check to see if it passed all the checks.
If Not Valid Then
' It didn't, so check everything and give the user the option to accept/reject.
If Not ValidDate Then Msg = Msg + "- Certificate date is invalid" + vbCrLf
If Not TrustedRoot Then Msg = Msg + "- Certificate Authority is not trusted"
+ vbCrLf
If Not ValidSignature Then Msg = Msg + "- Certificate does not contain a valid
signature" + vbCrLf

Msg = "The following conditions are true:" + vbCrLf + vbCrLf + Msg + vbCrLf
+ vbCrLf
Msg = Msg + "Do you still wish to authenticate?"
If MsgBox(Msg, vbYesNo + vbExclamation, "Security Alert") = vbYes Then
' User still wants to accept so accept it (by setting Valid to true)
Valid = True
End If
End If
End Sub

SecureServer ActiveX Control

Use the SecureServer control to accept connections and handle requests while automatically authenticating and encrypting/decrypting all data sent and received using SSL2, SSL3, PCT, and TLS. Features include:

 

  • Select SSL 2.0, SSL 3.0, PCT, TLS or unencrypted TCP communications.
  • Customize certificate acceptance or rejection.
  • Client authentication fully supported.
  • Create ANY higher-level protocol secure server such as a POP server, SMTP server, FTP server, etc.
  • The SecureServer control uses an internal Daemon object and dynamically creates internal TCP objects as each passive connection is automatically accepted. Use this TCP object to send and receive data to that individual connection.

 

Looking for the .NET version of this control?

 

Development Environment
  • Visual Studio .NET (.NET Framework)
  • Visual Basic (VB)
  • Visual C++ (VC++)
  • FoxPro
  • PowerBuilder
  • Delphi
  • C++ Builder
  • ASP
  • Office 97/2000

 

 

Interface

Public Properties
Certificate Certificate Object to use when authenticating to the remote host.
Children Returns a collection of secure TCP child connections accepted by the server.
ClientAuthentication Evaluates to a control that incorporates secure connections.
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.
Protocol Specifies the security protocol used.
ReuseAddress When True, the REUSEADDR socket option is set to accept duplicate use of the same LocalAddress / LocalPort pair (these are optional parameters of the Connect and Listen methods). If used, this property must be set prior to calling the Connect or Listen method and can be set at design time.
Public Methods
About Show the About Box.
ClearCertificate Clears the Certificate object contained in the Certificate property.
Close Release system resources.
Listen Start listening for passive connections.
Public Events
Authenticate Fires when the remote host has sent a certificate to be authenticated.
Count Fires to indicate that the Children.Count property has changed.
Error Fires when an error condition occurs.
Receive Fires when ReceiveBufferCount changes.
Send Fires when the system accepts data for sending
State Fires when the State property changes.

 

 

Code Example

How easy is the SecureServer control to use? This example demonstrates creating a simple secure TCP echo server.

 

Private Sub StartServer()
' Create a new CertificateStore object. This helps to select a cert.
Dim Store As New CertificateStore
'Get the certificates in "MY" certificate store located in the
'current user registry key.
Store.Name = "MY"
Store.Location = locationLocalMachine
Store.Refresh

' Check to see if any certificates were found in this store.
If Store.Certificates.Count > 0 Then
' Yep. Just use the first one.
SecureServer1.Certificate = Store.Certificates.Item(1)
Else
' Uh oh. No certificate found.
MsgBox("Error. No certificate found. Cannot use security.")
Exit Sub
End If
' Start the server on port 8080.
SecureServer1.Listen 8080
End Sub

Private Sub SecureServer1_Receive(ByVal Child As DartSecureCtl.ISecureTcp)
' Buffercount changed. Receive data from a connected client.
Dim Data As String
Dim ByteCount As Long
ByteCount = Child.Receive(Data)

' Now echo the data back.
Child.Send (Data)
End Sub

Pop ActiveX Control

The Pop control downloads Internet email messages from any POP3 server. Features include:

 

  • Explicit and Implicit SSL Security.
  • Customize certificate acceptance or rejection.
  • Client authentication fully supported.
  • Message object collection represents all messages on the server. Retrieve a single message, all messages, or a range of messages.
  • Retrieve entire messages, message headers only, or a specified number of message lines.
  • Memory-based message retrieval makes this product perfect for ASP applications.
  • Powerful default operations are provided, including iteration through a message set to populate the Messages property.
  • The Message object provides an object representation of any e-mail message. This formatting object supports easy manipulation of simple and complex (even nested) MIME messages.
  • Complies with RFC 1939, "Post Office Protocol - Version 3"
  • Detailed knowledge of POP3 is not required.

 

 

Looking for the .NET version of this control?

 

 

Interface
Public Properties
AttachmentDirectory Decoded message attachments are created in this directory.
AttachmentOverwrite Specifies whether decoded message attachments are overwritten if the filename is the same.
Blocked A True value indicates the control is currently executing a blocking method (Timeout is greater than 0), which has neither completed nor timed out with a ptTimeout error.
Certificate Client certificate.
Count Returns the number of messages on the server.
Messages Collection of Message Objects that is the default destination for downloaded messages when using Get.
Preview Number of lines of message body desired when using Get with msgPreview specified as a parameter.
Privacy Security mode, such as Explicit, Implicit, None.
Security For handling server certificates.
State Provides status information to the user interface. The State event fires to signal that this property has changed.
Timeout Controls the blocking behavior of methods that can be used in blocking and non-blocking ways.
Public Methods
Abort Abort any blocking method and release all system resources.
About Show the About Box.
ClearCertificate Clear the client certificate.
Command Send any protocol command to the server.
Delete Mark one or more messages for removal upon normal completion of the session.
Get Get all or part of one or more messages.
Login Connect to a POP3 server and authenticate in one easy step.
Logout End a session.
Reset Remove the "mark-for-delete" flag from all messages on the server.
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 Presents the server certificate.
Certificate Client certificate requested.
Error Fires when an error condition occurs.
Progress Fires when a method has completed, the server has sent a reply, or progress information is available.
State Fires when the State property changes.

 

 

Code Example

How easy is the POP Control to use? Check out the VB example below which demonstrates how to retrieve all message headers from a POP server and displays data about each header.

 

Pop1.Timeout = 30000

' Login to the server
Pop1.Login "mail.test.com", "testuser", "testpassword"

' Only get the header of the messages
Pop1.Preview = 0

' Get all message headers
Pop1.Get msgPreview

' Iterate through the messages and display data
Dim msg As Message
For Each msg In Pop1.Messages
MsgBox "From: " & msg.From & " Subject: " & msg.Subject
Next

Ftp ActiveX Control

The Ftp control is a powerful and flexible component-based implementation of the FTP protocol. High-level properties and methods provide quick code creation and ease-of use, while access to lower-level properties and methods provide power and control. Here are some feature highlights:

  • Select SSL 2.0, SSL 3.0, PCT, TLS or unencrypted FTP communications.
  • Login method combines connection setup and authentication into one easy step.
  • MGet and MPut methods transfer multiple files, including directory trees, with a single line of code.
  • Customize certificate acceptance and rejection; client authentication fully supported.
  • The powerful DartStream object permits the transfer of files directly to and from memory.
  • Supports both asynchronous (event-driven) and synchronous (scripted) application designs.
  • Supports large file transfers, with sizes greater than 4 GB.
  • Resumes interrupted transfers, and aborts transfers without losing the session connection.
  • Progress event reports data sent and received in real-time.
  • Listing object automatically parses listings into easy-to-use objects.
  • Performs ASCII or Binary transfers, in both Passive and Active modes.
  • Command method sends custom and raw commands to the server.
  • Creates and deletes folders on the server.
  • Get and Put methods perform complete transfer sessions from a single line of code.
  • Trace method provides access to the underlying communication, making logging and debugging sessions easy.
  • The Ftp control is NOT dependent on Wininet.dll.
  • Transfers files through all common firewalls and proxies, including Socks 4/5, Ftp SITE, Ftp USER, Ftp OPEN, Http CONNECT, and more.
  • Can be used in traditional client applications and services, as well as scalable ASP applications.
  • Can operate transparently in the background while other tasks are performed, or operate interactively like in most popular FTP applications.

 

Looking for the .NET version of this control?

 

Interface

 


Public Properties
Allocate Indicates whether space must be allocated on a server as part of the Store method.
Authentication Specifies the security protocol and authentication type used.
Blocked A True value indicates the control is currently executing a blocking method (Timeout is greater than 0), which has neither completed nor timed out with a ptTimeout error.
Certificate Certificate Object to use when authenticating to the remote host.
Directory Working directory on the server.
FileStructure File structure to be used for subsequent file transfers.
Listing Object containing results from the last use of the List method or the NameList method.
LocalAddress When the State property is tcpConnected, LocalAddress returns the address of the local host in dot notation (for example, nnn.nnn.nnn.nnn). When not connected, it returns an empty string.
LocalDataPort Gets or sets a string used to restrict the local data port to a value or range compatible with your firewall.
LocalPort When the State property is tcpConnected, LocalPort returns the port number that the socket is bound to. When not connected, it returns 0.
Passive Indicates how the data connection is formed.
Protocol Specifies the security protocol used.
ProxyHost Specifies the name or address of the proxy server that requests are to be routed through.
ProxyPassword Password to be sent on all requests through a proxy server that requires authentication.
ProxyPort Specifies the port used by proxy server that requests are to be routed through.
ProxyType The type of proxy server used for this connection.
ProxyUsername Username to be sent on all requests through a proxy server that requires authentication.
RemoteAddress Returns the address of the remote host in dot notation (i.e. nnn.nnn.nnn.nnn) when the State property is tcpConnected.
RemotePort Returns the port number of the remote host when the State property is tcpConnected.
Restart Indicates the server supports a restart mechanism for file downloads.
SecretKey Sets the secret key used in password encryption.
Security Sets the security level during communication.
State Provides status information to the user interface. The State event fires to signal that this property has changed.
StoreType Type of store that will be performed when the Store method is called.
System Type of operating system used by the server.
Timeout Controls the blocking behavior of methods that can be used in blocking and non-blocking ways.
TransferMode Transfer mode to be used for subsequent file transfers.
Type Data type to be used for subsequent file transfers.
Public Methods
Abort Abort any blocking method and release all system resources.
AbortCommand Gracefully abort the last command sent.
About Show the About Box.
ChangeDirectoryUp Set the working directory to the parent directory. The Directory property can be checked to discover the new working directory.
ClearCertificate Clears the Certificate object contained in the Cerificate property.
Command Send any command string to the server. This method is useful for using servers that have an extended vocabulary.
Delete Delete a file on the server.
Get Log in, get a file, and log out in one step.
Help Request helpful information from the server. The command takes an optional argument (for example, any command name) and returns more specific information as a response.
List Get a file directory listing. The server sends name and supplementary information on each file found within the specified PathName. The Listing property is populated with this information.
Login Connect to a server and send the commands to authenticate a session.
Logout Gracefully log off and terminate the connection.
MakeDirectory Create a directory.
MGet Retrieve (get) multiple files or entire directory trees.
MPut Store (put) multiple files or entire directory trees.
NameList Get a file directory listing without file attributes. The server sends a file name for each file found within the PathName specified. The Listing property is filled with filenames (only the Name property is initialized).
NoOperation Check the status of the control connection. The server should send an OK reply.
Put Login, store a file, and logout in one easy step.
RemoveDirectory Remove a directory.
Rename Rename a file.
Retrieve Retrieve (get) a complete file or part of a file starting at a specified position.
Site Specify or request site-specific services. The nature of these services and the specification of their syntax can be found in the Result parameter of the Help method.
Status Get server status information.
Store Store (send) a complete file, or part of a file starting at a specified position.
StructureMount Mount a different file system data structure without altering login or accounting information.
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.
Certificate Fires when the remote host is requesting a certificate and the Certificate property is not set to a valid Certificate Object.
Error Fires when an error condition occurs.
Progress Fires when the server replies to a command or while a file transfer takes place. The control interprets the reply and presents progress information with this event.
State Fires when the State property changes.

 

 

Code Example

How easy is the FTP ActiveX component to use? Check out the following VB example below, which demonstrates a simple file transfer.

 

Private Sub DoSecureLogin()
' The FTP server in this example is using Explicit SSL
Ftp1.Authentication = atExplicitNormal ' Perform all checks in the Authenticate event.
Ftp1.Protocol = secureAuto ' Login to the server. Security will be negotiated first.
Ftp1.Login "server", "test", "password", , 21 ' Success! SSL connection established. Get help on the STOR
' command (just to test the SSL connection)
Dim Response As String
Ftp1.Help Response, "STOR" ' Print the response.
Debug.Print (Response) ' Logout
Ftp1.Logout
End Sub

Private Sub Ftp1_Authenticate(ByVal RemoteCertificate As DartFtpCtl.ICertificate, ByVal TrustedRoot As Boolean,
ByVal ValidDate As Boolean, ByVal ValidSignature As Boolean, Valid As Boolean)
Dim Msg As String
' Check various parts of the certificate to give the user a chance
' cancel if desired.
If Not Valid Then
If Not ValidDate And IgnoreDate = False Then Msg = Msg + "- Certificate date is invalid" + vbCrLf
If Not TrustedRoot And IgnoreRoot = False Then Msg = Msg + "- Certificate Authority is not trusted" + vbCrLf
If Not ValidSignature Then Msg = Msg + "- Certificate does not contain a valid signature" + vbCrLf
End If

If DoHostNameCheck And IgnoreHost = False Then
If RemoteCertificate.IssuedTo <> Host Then
Valid = False
Msg = Msg + "- The name on the security certificate does not match the name of the site" + vbCrLf
End If
End If

If Msg <> "" Then
Msg = "The following conditions are true:" + vbCrLf + vbCrLf + Msg + vbCrLf + vbCrLf
Msg = Msg + "Do you still wish to authenticate?"
If MsgBox(Msg, vbYesNo + vbExclamation, "Security Alert") = vbYes Then
DoHostNameCheck = False
Valid = True
End If
Else
Valid = True
End If
End Sub

SecureFtpServer ActiveX Control

Use the SecureFtpServer control to create FTP server applications which can transfer files using SSL, TLS, or PCT. Features include:

 

  • Use SSL 2.0, SSL 3.0, PCT, TLS or unencrypted FTP communications.
  • Customize certificate acceptance or rejection.
  • Client authentication fully supported.
  • Uniquely capable of SSL over FTP through a Firewall using Dart's proprietary FirewallReady functionality (requires PowerTCP products on both sides of the connection).
  • The SecureFtpServer control uses an internal Daemon object and dynamically creates internal TCP objects as each passive connection is automatically accepted. Use this TCP object to send and receive data to that individual connection.
  • When a request is received, a corresponding event is raised. Write your own custom handling code in the event handler.
  • Add authentication and customized user directories within the Login event.
  • Disallow changing directories within the ChangeDirectoryUp and ChangeWorkingDirectory events to those who do not have proper permissions.
  • Disallow directory creation/deletion within the MakeDirectory and RemoveDirectory methods to those who do not have proper permissions
  • Disallow file upload/download within the Retrieve and Store event to those who do not have proper permissions.

 

Development Environments
  • Visual Studio .NET (.NET Framework)
  • Visual Basic (VB)
  • Visual C++ (VC++)
  • FoxPro
  • PowerBuilder
  • Delphi
  • C++ Builder
  • ASP
  • Office 97/2000

 

 

Interface
Public Properties
Authentication Specifies the security protocol and authentication type used.
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.
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
LogDirectory Directory for daily log files.
MaxIdleTime Maximum time in minutes a session can be idle before it terminates.
Protocol Specifies the security protocol used.
QuitMessage Message sent to the client in response to a QUIT command (when the user logs out.
RequestAccountInfo Controls whether the ACCT command is requested.
RestartAllowed Indicates whether users can restart file transfers.
SecretKey Sets the secret key used in password encryption.
Sessions Collection of active Session Objects.
Status Text description of the server status. This is the message returned to the client in response to a STAT command.
SystemName System name and type. This is the message returned to the client in response to a SYST command.
WelcomeMessage Message returned to the client when the client initially connects.
Public Methods
About Show the About Box.
ClearCertificate Clears the Certificate object contained in the Certificate property.
Pause Stop the server from listening and accepting new connections, while allowing established connections and sessions to persist.
Start Start processing FTP requests.
Stop Stop the server from accepting new connections and immediately close existing client connections.
Public Events
Append Fires when the client attempts to append to a file (by sending an APPE command).
Authenticate Fires when the remote host has sent a certificate to be authenticated.
ChangeDirectoryUp Fires when the client sends a CDUP command.
ChangeWorkingDirectory Fires when the client sends a CWD command.
Command Fires when the client sends a custom command.
Delete Fires when the client sends a DELE command.
Error Fires whenever an error condition occurs.
Help Fires when the client sends the HELP command.
List Fires when the client sends the HELP command.
Login Fires when the client attempts to log into the server.
Logout Fires when the client sends the QUIT command.
MakeDirectory Fires when the client sends a MKD command.
NameList Fires when the client sends a NLST command.
RemoveDirectory Fires when the client sends a RMD command.
Rename Fires when the client attempts to rename a file.
Retrieve Fires when the client attempts to retrieve a file.
SessionEnd Fires just before the session is terminated.
SessionInit Fires when the client first connects to the server.
Site Fires when the client sends the SITE command.
Status Fires when the client sends the STAT command.
Store Fires when the client attempts to store a file.
StructureMount Fires when the client sends the SMNT command.

 

 

Code Example

How easy is the SecureFtpServer control to use? This example demonstrates creating a fully-functional secure FTP server.

 

Private Sub StartServer()
' Create a new CertificateStore object. This helps to select a cert.
Dim Store As New CertificateStore
'Get the certificates in "MY" certificate store located in the
'current user registry key.
Store.Name = "MY"
Store.Location = locationLocalMachine
Store.Refresh

' Check to see if any certificates were found in this store.
If Store.Certificates.Count > 0 Then
' Yep. Just use the first one.
SecureFtp1.Certificate = Store.Certificates.Item(1)
Else
' Uh oh. No certificate found.
MsgBox("Error. No certificate found. Cannot use security.")
Exit Sub
End If
' Start the server listening on port 21 with the FTP root C:\FtpRoot
FtpServer1.Start "C:\FtpRoot"
End Sub

Daemon ActiveX Control

Use the Daemon control to build a multi-threaded server. Can accept an unlimited number of connections that can be assigned to dynamic SecureTcp controls for stream management. Features include:

  • Can accept an unlimited number of connections.
  • After accepting a connection, pass it to a Tcp control to send and receive data to the remote host.
  • The Daemon control comes complete with extensive samples demonstrating its use.
  • Help file quick starts show also demonstrate how to use the Daemon control.
  • Controls can operate on separate threads, so Server Applications can be written using apartment model multi-threading features. Or, see PowerTCP Server for ActiveX for an ActiveX control which already does this.

 

Development Environments
  • Visual Studio .NET (.NET Framework)
  • Visual Basic (VB)
  • Visual C++ (VC++)
  • FoxPro
  • ASP
  • Office 97/2000
  • and more

 

Interface
Public Properties
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.
ReuseAddress When True, the REUSEADDR socket option is set to accept duplicate use of the same LocalAddress / LocalPort pair (these are optional parameters of the Connect and Listen methods). If used, this property must be set prior to calling the Connect or Listen method and can be set at design time.
Timeout Controls the blocking behavior of methods that can be used in blocking and non-blocking ways.
Public Methods
About Show the About Box.
Accept Accept a connection and pass it to a TCP control for subsequent connection management. The Listen method must have been previously used to listen for passive connections.
Close Release system resources.
Listen Start listening for passive connections.
Accept Fires when a passive connection occurs. Use the Accept method to get the socket, then transfer it to a TCP control for management.
Error Fires when an error condition occurs.

  

Code Example

How easy is the Daemon ActiveX control to use? The following VB example demonstrates accepting a connection.

 

' Listen for connections on Port 7
Daemon1.Listen 7

Private Sub Daemon1_Accept()
' create a new TCP Control and assign the Socket to it
Dim Tcp1 As Tcp

' myclass supports event notification for Tcp operation
Set Tcp1 = New myclass
Tcp1.Socket = Daemon1.Accept
End Sub

NT Service ActiveX Control

The Service control is used to turn any application into an NT Service. Features include:

  • Easily turn PowerTCP server applications 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.
  • Use the Service control to 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.

 

 

Development Environments
  • Visual Studio .NET (.NET Framework)
  • Visual Basic (VB)
  • Visual C++ (VC++)
  • FoxPro
  • PowerBuilder
  • Delphi
  • C++ Builder
  • ASP
  • Office 97/2000
  • and more

 

 

Interface
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.
Fires 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

Message Object (Encode and Decode MIME messages)

Use the Message object to decode MIME email into an object representation you can easily manipulate. Every attachment, part, and label element is presented as an object, giving you un-surpassed processing control. Performs encoding too, so you can pass messages between the POP, IMAP, and SMTP controls! Features include:

  • Detailed knowledge of MIME is not required to use the Message object.
  • The Message object provides an object representation of any email message. This formatting object supports easy manipulation of simple and complex (even nested) MIME messages.
  • Additional features of the MIME object include persistence to disk in two formats: transport ready (encoded) message format and a quick loading (decoded) object format.
  • Encoded/decoded data need not be spooled to disk, making this product a real performer for messages buffered in memory.
  • One method call builds a message.
  • Create a ready-to-send HTML message with a single line of code.

     

    Looking for the .NET version of this object?

     

     

    Development Environments
    • Visual Studio .NET (.NET Framework)
    • Visual Basic (VB)
    • Visual C++ (VC++)
    • FoxPro
    • PowerBuilder
    • Delphi
    • C++ Builder
    • ASP
    • Office 97/2000

     

     

    Interface Members

     


    Public Properties
    AttachmentDefaults When an attachment is added to a message, header fields are included that describe the attachment. This property provides default header fields for common attachment file types. These strings may be modified or more added so subsequent calls to the AddAttachment method use the header fields you provide.
    AttachmentDirectory
    Decoded message attachments are created in this directory.
    AttachmentOverwrite Specifies whether decoded message attachments are overwritten if the filename is the same.
    Attribute Server-related attributes of the message.
    Bcc Collection of recipient address strings that are not disclosed to other recipients (Blind Carbon Copy).
    Charset Gets and sets the character set used for string/byte array conversions.
    Cc Collection of address strings for the secondary recipients (Carbon Copy).
    Content Read from this property to encode the message or write to this property to initialize the object.
    From Specifies the author of the message.
    Header Collection of header fields contained in a Message Object or a Part Object.
    PartList Collection of all Part Objects in a multipart message.
    Parts Collection of "sibling" Part Objects existing at a single level in the message.
    QuotedPrintable When set to True, Quoted-Printable encoding is applied to textual parts of the message when it is encoded. When set to False, textual parts of the message are sent "as-is".
    Size Returns the size of the encoded message.
    Subject Subject of the message.
    Text Text contained in a non-multipart message.
    To Collection of recipient address strings.
    Public Methods
    AddAttachment Attach a file to the message.
    AddDigest Create a digest message such as that used to archive newsgroup or mailing list correspondence.
    AddHtml Create a ready-to-send HTML email message.
    AddMessage Attach an existing message to the message.
    AddText Add a text body part, optionally specifying a character set.
    Browse Activate the edit window. This is a debugging feature that supports run-time access for message browsing and editing.
    Decode Decode a message from consecutive buffers of encoded data.
    DecodeBuf Decode a single buffer.
    Encode Generate consecutive segments of the encoded message stream.
    EncodeBuf Encode a buffer.
    d>Forward Create a "forwarded" message to the specified recipient.
    Load Load a message file.
    Reply Create a "reply" message to sender or all recipients.
    Store Store a message in a file.

     

    Code Example

    How easy is the Message object to use? Check out the VB example below which demonstrates creating a message with an attachment using the Message object.

    ' Smtp1.Message is a Message object
    Smtp1.Message.To.Add "you@test.com" ' Specify the recipient
    Smtp1.Message.From = "me@test.com" ' Specify the sender
    Smtp1.Message.Subject = "Test Message" ' Specify the subject
    Smtp1.Message.Text = "This is a test." ' Add message body
    Smtp1.Message.AddAttachment "C:\company.gif" ' Add attachment
    Smtp1.Login "mail.dart.com" ' Start the mail session
    Smtp1.Send ' Send message
    Smtp1.Logout ' End session

    Tcp ActiveX Control

    Use the Tcp control to easily implement any upper-layer protocol that is based on a TCP data stream. Features include:

    • Send method sends data to the server.
    • Receive method receives all available data.
    • Search Method supports variable length records and line processing, eliminating the need to search for termination characters and simplifying buffer management.
    • Fill Method supports fixed length binary records, simplifying buffer management and reducing the code needed to send and receive binary structures.
    • Proxy support, including Socks 4 and 5

    Looking for the .NET version of this control?

    Development Environments
    • Visual Studio .NET (.NET Framework)
    • Visual Basic (VB)
    • Visual C++ (VC++)
    • FoxPro
    • PowerBuilder
    • Delphi
    • C++ Builder
    • ASP
    • Office 97/2000

     

    Interface
    Public Properties
    Blocked A True value indicates the control is currently executing a blocking method (Timeout is greater than 0), which has neither completed nor timed out with a ptTimeout error.
    KeepAlive When set to True, the KEEPALIVE socket option is set to monitor dropped connections. This option can only be set when the State property is tcpConnected.
    LocalAddress Returns the address of the local host in dot notation (for example, nnn.nnn.nnn.nnn). When not connected, it returns an empty string.
    LocalPort Returns the port number that the socket is bound to. When not connected, it returns 0.
    NoDelay When True, the NODELAY socket option is set to defeat Nagle's algorithm.
    ProxyHost Specifies the name or address of the proxy server that requests are to be routed through.
    ProxyPassword Password to be sent on all requests through a proxy server that requires authentication.
    ProxyPort Specifies the port used by proxy server that requests are to be routed through.
    ProxyType The type of proxy server used for this connection.
    ProxyUsername Username to be sent on all requests through a proxy server that requires authentication.
    ReceiveBufferCount Checks for the existence of data without removing it.
    ReceiveBufferSize Number of bytes the system has for buffering incoming data.
    Ref Stores a reference to another object, data type, or value.
    RemoteAddress Returns the address of the remote host in dot notation (i.e. nnn.nnn.nnn.nnn) when the State property is tcpConnected.
    RemotePort Returns the port number of the remote host when the State property is tcpConnected.
    ReuseAddress When True, the REUSEADDR socket option is set to accept duplicate use of the same LocalAddress / LocalPort pair (these are optional parameters of the Connect and Listen methods). If used, this property must be set prior to calling the Connect or Listen method and can be set at design time.
    RemotePort Returns the port number of the remote host when the State property is tcpConnected.
    ReuseAddress When True, the REUSEADDR socket option is set to accept duplicate use of the same LocalAddress / LocalPort pair (these are optional parameters of the Connect and Listen methods). If used, this property must be set prior to calling the Connect or Listen method and can be set at design time.
    SendBufferCount When the Send method is used, some data may be stored in a buffer and later submitted to the system. The Send event fires to indicate that the system has accepted the submitted data.
    SendBufferSize Number of bytes the system uses for buffering outgoing data.
    Socket System identifier assigned to the TCP connection. It is normally used to assume management of an accepted socket from the Daemon Control.
    State Provides status information to the user interface. The State event fires to signal that this property has changed.
    Timeout Controls the blocking behavior of methods that can be used in blocking and non-blocking ways.
    Public Methods
    Abort Abort any blocking method and release all system resources.
    About Show the About Box.
    Close Close the session and release all system resources. A single control can be used for many connections, one after the other.
    Connect Establish a connection. The State property immediately changes to tcpConnecting and then changes to tcpConnected when the connection is established. The State property can be checked in the body of the State event, polled off a timer, or checked immediately after this method is used when a positive Timeout is specified.
    Fill Use this method when you know exactly how many bytes or characters you want from the TCP stream. Data is either filled to capacity or no data is returned. This method is useful for processing fixed-length records that can include binary structures.
    Receive Receive an arbitrary amount of data. The specified String or Byte array is filled with bytes from the remote host.
    Search Receive data up to and including a terminating sequence. The data stream is searched for the specified Token, and the specified string, byte array, or DartStream object is filled with the data stream up to and including the specified Token.
    Send Send data after a connection is established. The Send event fires when data is accepted by the system. The SendBufferCount property always indicates the number of bytes that have been submitted but have not yet been accepted by the system.
    Trace Start or stop the accumulation of trace or debug data. Once started, this method accumulates data until it is turned off.
    Public Events
    Error Fires when an error condition occurs.
    Receive Fires when ReceiveBufferCount changes.
    Send Fires when the system accepts data for sending.
    State Fires when the State property changes.

     

    Code Example

    How easy is the TCP ActiveX component to use? Check out the following TCP VB example below, which demonstrates connecting to an Echo server and sending and receiving data.

     

    Dim Reply As String

    ' Set Timeout to 1000 milliseconds to wait on communications for program execution
    Tcp1.Timeout = 1000

    ' Establish a connection to an echo server that repeats back what it receives
    ' "myhostname" is the host address, and 7 indicates the echo port
    Tcp1.Connect "myhostname", 7

    ' Since no Error condition is reported, we know we succeeded: send a string
    Tcp1.Send "!"

    ' Receive the reply from the server
    Tcp1.Receive Reply

    If Reply = "!" Then MsgBox "Success!"

    ' Close the connection
    Tcp1.Close

    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.

    $0.00 discount
     
    $1,299.00

    Have any questions about purchasing? See our Sales FAQ