PowerTCP SSL for ActiveX
from $999.00Available 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.
Features
- IPv6 support
- 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
- 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
- Can be used in a multi-threaded environment.
Security
- TLS 1.2 and 1.1 support
- Supports client-side AND server-side authentication
- Capable of SSL over FTP through a Firewall
- Support for all major SSL over FTP standards and configurable to other non-standard implementations!
- Supports secure implementations of Globalscape(TM), WS_FTP(TM), and SERV_U
- Compatible with common UNIX libraries such as OpenSSL and Certicom Plus(TM)
Samples and Documentation
- Wrapper classes included for convenient integration into Visual C++
- Supports COM+ Component Services
- 64 bit support
- Includes a royalty-free license
Included with PowerTCP SSL for ActiveX
- 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*: Server 2008, 2012, Windows 7, Windows 8, Windows 10, Server 2016
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.
Code Examples
Sample Projects Included
The PowerTCP 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. | VB6, VC++ (VC6) |
GetSite | Uses the Mget method to retrieve an entire directory tree. | VB6, VC++ (VC6) |
PutSite | Uses the MPut method to store an entire directory tree. | VB6, VC++ (VC6) |
Secure FTP Server | Uses the SecureFtpServer Control to demonstrate a simple Secure FTP server. Use it with the Secure FTP Client. | VB6, VC++ (VC6) |
Secure Echo Server | Demonstrates a simple secure Echo server. | VB6, VC++ (VC6) |
Secure TCP Client | Uses the SecureTcp Control to make SSL connections to any secure port. | VB6, VC++ (VC6, VS2012) |
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. | VB6, VC++ (VC6, VS2012) |
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
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
PowerTCP SSL for ActiveX Features
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
PowerTCP SSL for ActiveX Features
Pop 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.
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.
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
PowerTCP SSL for ActiveX Features
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
PowerTCP SSL for ActiveX Features
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
PowerTCP SSL for ActiveX Features
Message Object
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.
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
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