How Tos

Last reviewed: 3/4/2013

Article ID: H031302

HOW: Developing Delphi applications that manage conversations

The information in this article applies to:

  • VoiceXMLKit


You can develop Delphi applications that manage conversations using your favorite version of Delphi.

More Information

VoiceXMLKit includes a Delphi Pascal source file VoiceXMLKit.pas comprised of the Delphi classes that manage conversations. It also includes a Delphi Pascal source file ChantShared.pas comprised of common Delphi classes that all Chant libraries use.

To access the VoiceXMLKit Delphi classes within your application, first add a project reference to the VoiceXMLKit Delphi source files:

  1. Within your Delphi project, select Project Options.
  2. Select the Delphi compiler options.
  3. Add Search path reference to the VoiceXMLKit unit source file directory: C:\Program Files\Chant\VoiceXMLKit\Win32\Delphi\source.
  4. Add unit output path reference to the local directory with a period '.' character.

To access the VoiceXMLKit Delphi classes within your application, add a reference to the ChantShared and VoiceXMLKit units in your uses clause:

unit Unit1;


Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ChantShared, VoiceXMLKit;

Add an event handler declaration and Object instance variable to the application declarations:

TForm1 = class(TForm)
{ Private declarations }
{ Public declarations }
procedure OnHasEvent(var msg: TMessage);
    message WM_APP+9;

Form1: TForm1;
ChantXM1: TChantXM;

Object Instantiation

Instantiate an instance, set the license and serial properties, and set the event handler message.

procedure TForm1.FormCreate(Sender: TObject);
ChantXM1 := TChantXM.Create();
// Set license properties

// Define the HasEvent callback message
ChantXM1.SetWindowMessage(Handle, WM_APP+9, 0, 0);


Event Callbacks

Event callbacks are the mechanism in which the component library communications information back to the application such as compilation is complete or there was an error.

procedure TForm1.OnHasEvent(var msg: TMessage);
aTChantXMEvent: TChantXMEvent;
i: Integer;
numberOfEvents := ChantXM1.GetResourceCount(CSREvent,0,0);
for i := 0 to numberOfEvents - 1 do
    // Get the event from the event queue
    aTChantXMEvent := ChantXM1.GetChantXMEvent(0);
    case aTChantXMEvent.ChantCallback of
    // Remove the event from the event queue

Deployment Checklist

When you are ready to deploy your Delphi application, you need to ensure you have a valid license, bundle the correct Chant component library, and configure your installation properly on the target system. Review the following checklist before deploying your applications:

  • You may deploy your Delphi application to any system with a valid license from the Chant.
  • Copy CVoiceXMLKit.dll to the target system and place in the same directory with your application.

Sample Projects

Delphi sample projects are installed at the following location:

  • My Documents\Chant VoiceXMLKit\Win32\Delphi\RS 2009,
  • My Documents\Chant VoiceXMLKit\Win32\Delphi\RS 2010,
  • My Documents\Chant VoiceXMLKit\Win32\Delphi\RS XE,
  • My Documents\Chant VoiceXMLKit\Win32\Delphi\RS XE2, and
  • My Documents\Chant VoiceXMLKit\Win32\Delphi\RS XE3.

For additional help with VoiceXMLKit, contact Chant Support via Chant Support Contacts or web.