How Tos
Last reviewed: 10/4/2012
Article ID: H101202
HOW: Developing Delphi applications that manage movement
The information in this article applies to:
- KinectKit
Summary
You can develop Delphi applications that manage Kinect sensors using your favorite version of Delphi.
More Information
KinectKit includes a Delphi Pascal source file KinectKit.pas comprised of the Delphi classes that manage Kinect sensors. It also includes a Delphi Pascal source file ChantShared.pas comprised of common Delphi classes that all Chant libraries use.
To access the KinectKit Delphi classes within your application, first add a project reference to the KinectKit Delphi source files:
- Within your Delphi project, select Project Options.
- Select the Delphi compiler options.
- Add Search path reference to the KinectKit unit source file directory: C:\Program Files\Chant\KinectKit\Win32\Delphi\source.
- Add unit output path reference to the local directory with a period '.' character.
To access the KinectKit Delphi classes within your application, add a reference to the ChantShared and KinectKit units in your uses clause:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ChantShared, KinectKit;
Add an event handler declaration and Object instance variable to the application declarations:
type TForm1 = class(TForm) ... private { Private declarations } public { Public declarations } procedure OnHasEvent(var msg: TMessage); message WM_APP+8; end; var Form1: TForm1; ChantKM1: TChantKM;
Object Instantiation
Instantiate an instance, set the license and serial properties, and set the event handler message.
procedure TForm1.FormCreate(Sender: TObject); begin ChantKM1 := TChantKM.Create(); // Set license properties ChantKM1.SetStringProperty(CSPLicense,'LicenseRegistrationNumber'); ChantKM1.SetStringProperty(CSPSerials,'LicenseSerialNumber'); // Define the HasEvent callback message ChantKM1.SetWindowMessage(Handle, WM_APP+8, 0, 0); end;
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); var aTChantKMEvent: TChantKMEvent; i: Integer; begin numberOfEvents := ChantKM1.GetResourceCount(CSREvent,0,0); for i := 0 to numberOfEvents - 1 do begin // Get the event from the event queue aTChantKMEvent := ChantKM1.GetChantKMEvent(0); case aTChantKMEvent.ChantCallback of CCKSStatusChanged: ... end; ... // Remove the event from the event queue ChantKM1.RemoveResource(CSREvent,0); aTChantKMEvent.Destroy(); end; end;
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 CKinectKit.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 KinectKit\Win32\Delphi\RS 2009,
- My Documents\Chant KinectKit\Win32\Delphi\RS 2010,
- My Documents\Chant KinectKit\Win32\Delphi\RS XE,
- My Documents\Chant KinectKit\Win32\Delphi\RS XE2, and
- My Documents\Chant KinectKit\Win32\Delphi\RS XE3.
For additional help with KinectKit, contact Chant Support via or web.