Site Map Email Us Home
 
All Products
Clever Internet Suite
Clever Internet .NET Suite
Clever Internet ActiveX Suite
Clever Keyboard Indicator
Database Comparer
Database Comparer VCL
Database Comparer ActiveX
Interbase DataPump
Subscribe and receive email notifications on all major releases and other important events.
Your Name:
Your Email:
 

Best Offer for Delphi / C++ Builder Developers

 

Buy FIBPlus at discount price !

 
 
Products Articles Downloads Order Support
Components  | Samples  | FAQ  | Download  | Order  | History 
 

Clever Internet Suite FAQ

Q. How do I connect to SMTP/POP3 via proxy?

A. The POP3 / SMTP protocols do not provide you with the ability to specify the proxy settings in the same way as for HTTP / FTP protocols. If you want to use the proxy server for sending / retrieving emails, you will have to set-up the connection information (Server, UserName and Password) to this proxy server. So you will need to use the same Server, UserName and Password properties for specifying the email proxy settings. 
E.g in case of using FreeProxy (by handcraftedsoftware.org) you need to set-up the proxy tunnel to your mail server and finally configure the email client components to use this FreeProxy server:
http://www.handcraftedsoftware.org/docs/freeproxy/
http://www.handcraftedsoftware.org/docs/freeproxy/FP0011.htm

Note: in both POP3 and SMTP components you will use the connection to your proxy server. Not to the real mail server. The connection to the mail server is handled by proxy. Such component behavior is by design according to RFC standards. It fully identical to OutLook Express, MS OutLook, Eudora and other email clients.
Also check the MS OutLook documentation for more details about connecting to the mail server via proxy.

Q. Are you guys willing to help with actual code regarding the components?

A. Yes, please feel free to send us any of your code which uses our components. We will investigate it and provide you with the right way of using the components. Also if you need, we can prepare working samples that will demonstrate the functionality you require.

Q. How to extract embedded images in email?

A. The embedded images are stored the same way as file attachments do. Please see Code Samples to learn more about working with email attachments.

Q. Do you have some sample code that shows how to get the file attachments out of the message? I'd like to save the attachments to disk.

A. When you assign the MessageSource property, the TclMailMessage component parses it and extracts all message bodies including text, html, embedded images and file attachments. When the TclMailMessage component parses images and attachments, it does not save the image and/or attachment content in to the memory. It uses external stream object provided by the OnGetDataStream event. There is also another event - OnGetDataSourceStream. This event is used for obtaining the attachment source when combining new mail message. You can find a sample of using the OnGetDataStream event in the following demo programs: MailClient, MailProgress.
Also please see Code Samples to learn more about working with email attachments.

Q. What is the difference between buying Clever Internet Suite 1 copy and the Clever Internet Suite Site License.

A. One copy of the Developer License of the Clever Internet Suite allows you to install the suite components on one developer's PC and use it for compiling, debugging and any other developing purposes. If you want to install the Clever Internet Suite on two or more developer's computers, you need to purchase two or more copies of Developer Licenses correspondingly. If you need three or more copies of the Developer License, you may find the Site License a more cost effective method of purchasing the Clever Internet Suite. Using the Site License you can install the suite components on as many developer PCs as you need.

Q. The program compiles, but when it is started, the error occurs: The application could not be started because CLINETSUITEB5.BPL was not found.

A. It seems that your project settings have the "Build with runtime packages" option enabled. In such a case you need to put the CLINETSUITEB5.BPL near the application executalbe or to some known directory (such as c:\windows\system32...) By default, the Clever Internet Suite installation installs this file in to the "...\Program Files\Clever Components\Clever Internet Suite\CBuilder 5\Lib" directory. Another way, you can compile your application without using the runtime packages option. Please go to the Project Options dialog, open the Packages tab and uncheck this option.

Q. How can I work with HTTPS?

A. Simple specify the corresponding secured url (https://...) within the URL property and the TclUploader component switches to SSL mode (HTTPS) automatically. The OnGetCertificate event allows you to specify the client certificate in case if the server requires it. Also the CertificateFlags property allows you to ignore certificate validation errors.

Q. The trial version hangs on the open method when using it in a windows service.

A. This is a restriction in the trial version of the Clever Internet Suite. The reason is that there is a message box that pops up when the open method occurs and you can't respond to it. Please contact us at support@clevercomponents.com and specify your Delphi / C++Builder IDE version. So we can prepare a special edition of the Clever Internet Suite for you without trial messages.

Q. Is source included with your components?

A. The registered version of the Clever Internet Suite includes the full sources for all suite components and free unlimited support.

Q. When I have purchased a copy the ActiveX suite can I freely redistribute the suite control with my own compiled applications?

A. When purchasing a copy of Developer License of the ActiveX suite you can freely redistribute the desired suite controls with your applications. There is a condition that you can not redistribute the ActiveX source code together with your application sources (if your application is an open source).
Please see the Clever Internet ActiveX suite EULA document available at EULA.txt for more details.

Q. Are there any external dependencies for these components?

A. The suite uses the wininet.dll, crypt32.dll and advapi.dll libraries. All these dlls are binded at run-time. So if some of these dll does not available on destination PC then features implementing by that dll will not work. All latest versions of Microsoft Windows always have wininet.dll, crypt32.dll and advapi.dll libraries installed as they are became core part of the Windows. So theoretically you might have problems only with Windows 95 since it came out with preinstalled IE version 4.0 and even if this case you can simple install latest version of IE to fix it.

Q. How can I redownload from last disconnect point when my application quit and restart?

A. The previous version of the suite downloads urls using single thread, so to continue the downloading from the point where it stops you had to remember and restore the only one component property - ResourcePos.
The version 3.0 downloads urls using variable number of threads simultaneously. Current downloading status of each thread is stored in the ResourceState property. So in order to resume downloading from the last stop point you have to save and restore before starting each TclResourceStateItem within the ResourceState collection. Please store the following TclResourceStateItem properties: ResourcePos, BytesProceed and BytesToProceed. Also you have to store the ResourceSize TclResourceState property. Please try the following code:

procedure TForm1.StoreResourceInfo();
var
   i: Integer; IniFile: TIniFile;
Begin
   IniFile := TIniFile.Create('c:\settings.ini');
   try
      IniFile.WriteInteger('ResourceState', 'Count', DownLoader.ResourceState.Count);
      IniFile.WriteInteger('ResourceState', 'ResourceSize', DownLoader.ResourceState.ResourceSize);
      for i := 0 to DownLoader.ResourceState.Count - 1 do
      begin
         IniFile.WriteInteger('ResourceStateItem' + IntToStr(i),
            'ResourcePos', DownLoader.ResourceState[i].ResourcePos);
         IniFile.WriteInteger('ResourceStateItem' + IntToStr(i),
            'BytesToProceed', DownLoader.ResourceState[i].BytesToProceed);
         IniFile.WriteInteger('ResourceStateItem' + IntToStr(i),
            'BytesProceed', DownLoader.ResourceState[i].BytesProceed);
      end;
   finally
      IniFile.Free();
   end;
end;

procedure TForm1.RestoreResourceInfo();
var
   i, cnt: Integer; IniFile: TIniFile; Item: TclResourceStateItem;
begin
   IniFile := TIniFile.Create('c:\settings.ini');
   try
      DownLoader.ResourceState.Clear();
      cnt := IniFile.ReadInteger('ResourceState', 'Count', 0);
      DownLoader.ResourceState.ResourceSize := IniFile.ReadInteger('ResourceState', 'ResourceSize', 0);
      for i := 0 to cnt - 1 do
      begin
         Item := DownLoader.ResourceState.Add();
         Item.ResourcePos := IniFile.ReadInteger('ResourceStateItem' + IntToStr(i), 'ResourcePos', 0);
         Item.BytesToProceed := IniFile.ReadInteger('ResourceStateItem' + IntToStr(i), 'BytesToProceed', 0);
         Item.BytesProceed := IniFile.ReadInteger('ResourceStateItem' + IntToStr(i), 'BytesProceed', 0);
      end;
   finally
      IniFile.Free();
   end;
end;

Q. Is it possible to connect to the Internet via a Proxy?

A. The Clever Internet Suite version 2.5 uses the same proxy settings as Internet Explorer does for the following components: TclDownloader, TclUploader, TclMultiDownloader, TclMultiUploader. The mail components (TclPOP3, TclSMTP and TclIMAP4) and also TclFTP use their own mechanism to connect via proxy (Available starting from version 4.0). Since version 3.0 it is possible to set proxy programmically by using both the Proxy and ProxyBypass component properties. Please see the help file for more details.

Q. How Can I prevent creating of local file with the downloaded resource name? I use TclNewsChecker in my application for getting information about last changes on the server. I want to have this information in memory only.

A. When the URL property of a component is specified, it is parsed automatically and the resource name is extracted. If the LocalFolder property is not empty then such resource name is combined with LocalFolder and placed into the LocalFile property. In this way you just have to assign empty string to this property ""after setting the URL.

Q. I'm using BCB5 with your suite but getting linker errors. I dropped TclDownloader onto form and tried to run the project. Result: [Linker Error] Unresolved external 'InternetCloseHandle' referenced from CLDOWNLDR.LIB|clWaitDC.pas.

A. In order to solve this problem you have to include the wininet.lib in the project settings. Since version 3.0 due to run-time library binding feature you do not need to add any internet libraries to your projects.

Q. What should I check to ascertain that the download process is completed?

A. Use the OnStatusChanged event. It is generated every time when the executed operation state is changed:

  Status   Description
 psUnknown The current downloading or uploading state is unknown.
 psSuccess The downloading, uploading or getting resource information process has succeeded.
 psFailed The downloading, uploading or getting resource information process has failed.
 psErrors Errors occurred when downloading, uploading or getting resource information.
 psProcess Downloading, uploading or getting resource information is in process.
 psTerminated Downloading, uploading or getting resource information was terminated.

Q. Why doesn't a component raise an exception when the HTTP path does not exist?

A. When downloading is performed via the HTTP protocol and an error occurs, a server returns HTML page containing custom information about this error. A component downloads this page that is why the process state is equal to errors but not failed. This means that resource information is not found.

Q. Why is a resource downloaded successfully in contrast to resource information?

A. Some http/ftp servers do not provide such information. If server does not support this info and your URL is correct, the OnError event with 'Requested header not found' message occurs. In any case the downloading process continues correctly.

Q. What version of IE is needed for Clever Internet Suite?

A. Our Internet Suite is perfectly operable on any of IE version Microsoft supports, beginning from 3.0 to any latest one. But, if you use IE with version lower than 4.0 some features won't be available.
1. So, sending of the POST request is available only since version 4.0. But there is still possibility to implement this feature even with IE 3.0 - simple apply the UseSimpleRequest mode. To get more info about POST requests in the Clever Internet Suite library please visit Simulate a Web Form POST Request.
2. On Internet Explorer 5.01 and earlier, it is not possible to select a client certificate programmatically (without using the user interface). So if you have IE version earlier than 5.5 you should use the UseInternetErrorDialog option to authenticate in GUI mode. To get more info about secured connections in the Clever Internet Suite library please visit Using certificates.

Q. Dowloading the URL once is no problem, however, requesting the same URL a second time does not refresh anything - how can I force a refresh of the URL?

A. To force downloading of the same resource again you need to clean the ResourceState component property. This property is used for resuming feature, so if you successfully downloaded resource the ResourceState points to the end of dowloaded resource. Please use the ResourceState.Clear method for cleaning this property.

Q. Upload seems to fail on the new website that I have migrated.

A. For uploading files via HTTP / HTTPS protocol, the "PUT" HTTP request method is used. So the HTTP server directory must have the appropriate security permissions. In case of using the Microsoft IIS 6 server, the WebDAV technology must also be enabled.

 
Home  | Site Map  | Products  | Articles  | Downloads  | Order  | Support
 
    Copyright © 2000-2007