PowerTCP FTP for ActiveX

from $299.00
Available 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.

     

     

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

     

    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)
      PowerTCP FTP for ActiveX features

       

      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

       

      Return to Overview

      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
       
      $449.00

      Have any questions about purchasing? See our Sales FAQ