Add comprehensive secure file transfer capabilities to any application supporting ActiveX controls.
Frequently Asked Questions
Q: How do I deploy Excel spreadsheets that use PowerTCP ActiveX controls?
A: Unfortunately, there is no consistent model for 3rd party component support across Office products and versions. The recommended usage in Excel is to use the product as a reference rather than inserting it as a control. Also, if the spreadsheet ever had a PowerTCP control inserted at any previous time, that data was cached by Excel and a new spreadsheet will be required. When deploying to users, please refer to "Distribution under Internet Information Server" in the documentation for instructions as the technique is the same.
Back to Top
Q: How do I dialup to the Internet using the FTP Control?
A: If an Internet connection is not active, and you use the FTP Control to start a file transfer, the dialup dialog will automatically appear for the user to initiate a dialup session. If you need greater control of dialup services within your program, the PowerTCP Winsock Tool includes a RAS control for this purpose.
Back to Top
Q: How do I remove directories and delete files on the server?
A: The RemoveDirectory() and Delete() methods are used for this purpose.
Back to Top
Q: I have a web page that embeds your ActiveX control that works on my development machine. On another machine, a red 'X' appears or the controls shows the Trial Message.
A: The problem is that a runtime license needs to be provided for the control. Resolution: Get LPK_TOOL.EXE from Microsoft. You can find it in their Cabinet Development kit. It is also on one of the CDs that comes with Visual Studio. Use the LPK_TOOL to create an .lpk file for YOUR control. We can't stress YOUR control enough. In other words, let's say that you have a control called MyControl that contains several Dart controls. When choosing the control in the LPK_TOOL listbox, choose MyControl, NOT the Dart Controls. Again, we can't stress this part enough as it is ALWAYS the part that is missed. Add the following to your document BEFORE any other objects are declared. Make sure LPKNAME.LPK is the name of YOUR lpk: <OBJECT CLASSID=clsid:5220cb21-c88d-11cf-b347-00aa00a28331> <PARAM NAME='LPKPath' VALUE='LPKNAME.LPK'>
Back to Top
Q: I want to inspect the header of a remote file, and only download it if contains specific content. How would I deal with this?
A: You can start a download using a stream, and inspect the stream as you read it. If it doesn’t meet your criteria, the transfer can be cleanly aborted without spooling any data to disk. If you choose to process the file, continue reading the stream until empty.
Back to Top
Q: I’m behind a firewall or proxy. Can I use your product to communicate through it?
A: When used without SSL encryption, there is no problem navigating firewalls or proxies. If you are using SSL encryption, only SOCKS proxies will properly allow navigation in secure mode.
Back to Top
Q: I’m new to Internet Protocols, and all I know is that I have to transfer a file using FTP. Am I in the right place?
A: Yes you are. PowerTCP allows you to do everything supported by the FTP protocol, in almost any manner you choose. You can buy with confidence from the market leader and our support staff is ready to answer any questions you may have!
Back to Top
Q: If a listing is not recognized as a DOS or UNIX listing, can I still use your control?
A: Sure. If we can't parse the listing, the text is still available for you to parse in your application.
Back to Top
Q: In Powerbuilder, the hourglass cursor does not persist when the Dart control is busy. How can I keep the hourglass?
A: Unlike other environments, the interface is automatically disabled when the cursor changes to an hourglass in Powerbuilder.

Including the code below will allow the hourglass to persist, but it will not automatically disable the interface. To produce the usual hourglass behavior, the interface must be explicitely disabled and enabled by the user.

//In the external global function declarations
FUNCTION ulong SetCapture(ulong a) LIBRARY "user32.dll"
FUNCTION boolean ReleaseCapture()
LIBRARY "user32.dll"

//In the script
ulong ll_handle, ll_rc
ll_handle = Handle(this)
ll_rc = SetCapture(ll_handle)

//after done

Back to Top
Q: Is the free trial a 'full version'?
A: Yes. Your trial download is identical to the purchased product. The only difference is the trial download will only work for 30 days (in the case of ActiveX products) or will work for 7 days between each rebuild (for .NET products).
Back to Top
Q: Is this product interoperable with the .NET framework?

Although the product may work with the .NET framework, it is not recommended no supported by our technical staff. PowerTCP for ActiveX products were not made to be used with the .NET framework and some features or versions of the framework may be incompatible. We do offer a line of PowerTCP for .NET products that are updated for continued compatibility within .NET.

Back to Top
Q: My server responds to proprietary FTP commands that are not part of the RFC. How do you deal with that?
A: The Ftp.Send method can be used to send any arbitrary command to your FTP server, and receive the response.
Back to Top
Q: There are numerous FTP controls on the market. How is yours different?
A: PowerTCP supports BOTH synchronous and asynchronous operation, giving you the flexibility to change your application’s design without buying another product. In addition, PowerTCP implements the FTP protocol from scratch, in contrast to other vendors that only provide a thin wrapper to WININET.DLL functionality (that has known interoperability issues and provides more limited functionality for demanding applications). Finally, Dart focuses on product support, with a superior value proposition for professional developers.
Back to Top
Q: Why am I getting a Type Mismatch error in VBScript?
A: When using our controls in VBScript, you must specify optional parameters to prevent Type Mismatch errors.
For example, to zip a file with the FileStore, you need to create a SpanSettings instance:

Dim span
Set span = CreateObject("Dart.SpanSettings.1")
Zip1.FileStore.Zip("c:\Test\", span)

Back to Top
Q: I don’t know the first thing about SSL. Can you give me an overview that relates it to your product?
A: Basically, once a TCP connection is established, the server identifies itself with a special digital certificate that identifies it as “trusted" Optionally, the server may then require the client to identify itself with a digital certificate. If the respective certificates “pass muster" then all data is encrypted/decrypted using public key technology. PowerTCP makes all this as transparent as possible, while giving you the greatest control over accepting/rejecting certificates.
Back to Top
Q: I exported a certificate from my UNIX operating system to use with your product in SSL mode, but it doesn't seem to work.
A: Our implementation requires that a certificate be properly imported into a valid Microsoft Certificate Store. If you are importing a certificate that was created from a non-MS source (such as OpenSSL), please be sure that you export the certificate properly before attempting to import it into an MS Cert store. Check the docs for whatever SSL system you are using for this info. Also, make sure that when you export your certificate, regardless of your SSL library, that it includes the private key. A certificate that is exported without a private key can not be used as a valid certificate when imported into the Microsoft Certificate Store.
Back to Top
Q: I’m new to secure communications, and I’m not sure what I need. What should be my first step?
A: Dart has put all our Secure Socket Layer (SSL) related controls into the PowerTCP SSL Tool, so you are in the right place. Our knowledgeable pre-sales support staff will help point you towards the best solution for your project. Call us about your specific application, and we will help you determine the best approach to meet your design goals.
Back to Top
Q: Can I use the ActiveX controls in a scripting language such as VBScript?

Yes, in most environments the ActiveX controls can be used in a scripting engine such as VBScript.

However, while the controls will work on 64 bit machines in compiled environments such as VB6 and VC++, they are limited to 32 bit Operating Systems in scripting environments.

Back to Top
Q: Why do I see an 'Error accessing the registry' message in VB6?
A: This error will occur on Windows Vista and Windows 7 machines when User Account Control (UAC) is on and VB6 tries to write to an inaccessible part of the registry.

You will see this error message when an ActiveX control is used for the first time. This may be when a project using the control is opened, or when the control is selected to add to the Toolbox.

After the initial failure, VB6 will select an alternate registry location to write to, and subsequent uses of the control will not produce the error.

Back to Top