PowerTCP FTP for ActiveX
from $299.00Available Platforms
FTP for ActiveX
Copy files and folders to and from FTP or secure FTPS servers. PowerTCP FTP for ActiveX is feature-rich, designed specifically for ease-of-use within COM-supported environments, and is backed by the best technical support in the industry.
Looking for an SFTP (SSH File Transfer Protocol) Control?
Easy
- Supports multiple file transfer using wildcards (MGET and MPUT)
- Resume interrupted transfers and abort transfers without losing the connection
- Easily toggle ASCII and binary transfers
- Log and debug sessions with the convenient Trace method
- Retrieve and store file data directly to and from memory
- Parse listings automatic for file name, size, etc.
Secure
- TLS 1.2 and TLS 1.1 support for best in class security
- TLS 1.0, SSL3, SSL2, and PCT support for legacy compatibility
- Comprehensive explicit and implicit encryption
- Customizable certificate acceptance
- Supports certificate-based authentication for both client and server
- Network Address Translation (NAT) router support for secure transfers
- Extensive firewall and proxy support including; SOCKS, HTTP CONNECT, and more
Feature-Rich
- Includes 64-bit dlls
- IPv6 support
- Zip compression option
- Passive and active modes
- Custom command support
- Progress event reports bytes sent and received in real-time
Flexible and Stable
- Asynchronous (event-driven) and synchronous (scripted) application-design
- TLS and SSL protocol versions can be explicitly configured.
- Windows applications, services, and scalable ASP applications
- Use in multi-threaded environments and COM+ Component Services
Included with PowerTCP FTP for ActiveX
- 8 Controls/Objects.
- 24 Full Sample projects.
- Debug Server for debugging and protocol testing.
- Full MS Help 1.3 Documentation, including examples.
- Free Introductory Support.
Component | Description |
---|---|
FTP Control | Copies files between a local client and any FTP server. |
Certificate Object | Use to access information about a digital certificate. |
CertificateList Control | Presents the user with an interface to select certificates. |
Certificates Object | Collection of Certificate Objects. |
CertificateStore Object | Use to gain access to a store of certificates on the local system. |
DartStream Object | Manages a streamed buffer to/from memory or a file. |
ListEntry Object | Provides easy access to file information provided by an FTP listing. Each object represents one entry of a listing. |
ListEntries Object | Collection of ListEntry Objects |
Supported Environments
Operating Systems: XP, Windows Server 2003, Vista, 2008, Windows 7, Windows 8, Windows 10
PowerTCP FTP 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 FTP into Visual Basic? PowerTCP FTP for ActiveX contains 8 full sample projects for Visual Basic, including a full-blown Visual Basic FTP Client!
Visual C++
PowerTCP FTP for ActiveX includes C++ wrapper classes to make FTP integration into C++ even easier. In addition, 4 full sample projects are included.
Code Examples
Included Example Projects
The PowerTCP FTP for ActiveX examples are fully working applications and include complete source code.
Example Name | Example Description | Environments |
---|---|---|
ListView | Demonstrates an FTP Client application. Now includes proxy support. | 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 |
FTP for ActiveX also includes the following application(s):
Application | Description |
---|---|
Debug Server | This server application is based upon one of Dart's own internal testing tools and is designed to help developers debug their client-side applications by being able to see the message sent from a client application. Then, a developer can respond to the client application with a customized response message sent from the server. |
dartftp.dll dartcertificate.dll dartsecure2.dll dartsock.dll dartzip.dll
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)
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).
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).
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)
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)
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
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