SoftVelocity Clarion - Technical Information

Link To Manufacturer Product Information
Project Setup
Technical Notes


Project Setup

Using ExceleTel TeleTools with Clarion

The information that follows was provided to ExceleTel through the kindness of a longtime and respected member of the Clarion community and user of TeleTools, Rhys Daniell.

The information below shows the basics of using ExceleTel TeleTools and Clarion. Screenshots are from Clarion 5.5 but other versions of Clarion (including 6.x) are almost identical. The embed points referred to are for the legacy template set but Exceletel will work fine with the ABC template chain using similar embed points.


  • Use the OLE window control as the basis of your TeleTools work. This will (optionally) generate the callback procedures which are used to get events from the TeleTools OCX.
  • Use handcode to initialize the control. This is more reliable than using the standard template code.
  • Use Clarion OLE syntax (e.g. ?etLine1{'Enabled'} = 1) to set properties and call methods.

Creating a simple dialer with Clarion

Add a window control

Add the OLE window control to your window.  Just set the basic properties at this stage. You'll usually hide the control for a clean screen.

2. Check the boxes as below.


The window code (generated by Clarion) should look like this:


Initialize the control

At the After Opening the Window embed. Make sure these lines come before the OCXRegisterEventProc call


AboutSerialNumber is the serial number supplied by ExceleTel.

The license string appears after the characters \! in the Prop:Create statement. You can also pass in the license string using {Prop:License} but this seems less reliable.

To get the license string you have to do some messing about. On your production PC, with the TeleTools controls properly installed, you have to get the value for {Prop:Create}. You can do this by displaying Prop:Create in a MESSAGE statement after the control has initialized and then copying it into your code by hand, or putting it on the clipboard using SETCLIPBOARD() and then pasting it into your code.

Dial the number

Refer to the TeleTools documentation for an explanation of the properties and methods.

See the section on dialer devices below for how to get the local values Dial:DeviceID and Dial:DeviceName


Terminate the call


Display a moving icon while dialing

Handle this in the timer embed.

You need to set a flag to show that the dialer is active. If it is, change the image for each tick of the timer:


Dialer devices

A Windows PC is usually equipped with one or more dialer devices (e.g. a modem, a TAPI interface, etc)

You will probably list these in a setup window so that the user can select which one to use.

This is how you load a queue with the PC's device names so they can be displayed in a drop list or similar:


In your dialer procedure you would retrieve the name of the selected dialing device (Dial:DeviceName) and then get the DeviceID for that device. (Don't store the DeviceID because it can change if the user installs or uninstalls dialer devices.)


Other tips

For an OCX to work it must be registered with the operating system. When you install TeleTools on your development machine they are registered for you. If you are distributing your application you will need to have the installer register the OCX and required DLLs (most installers handle this). If the OCX in your application doesn't respond, it may not be registered. You can register an OCX manually by going to a command prompt in the directory where the ocx is installed and typing regsvr32 xxx.ocx, where xxx is the name of the OCX.  See the TeleTools help file for more information on deploying the required OCX and DLL files.

Readers are welcome to contact the author, Rhys Daniell for further assistance - rhys (at)

Technical Notes