{-----------------------------------------------------------------------------
Unit Name: v72Unit
Author: Tony Domigan
Purpose: Test DXLIB receiving and returning of Director lists
History: 09May02
-----------------------------------------------------------------------------}
Unit v72Unit;
Interface
Uses DXClasses, Windows;
Type
Tv72=Class(TDXScript)
Protected
Procedure ExecuteFunction(FunctionIndex:Cardinal;
Const ArgList:IDXArgList;
Const Result:IDXValue); override;
Public
Class Procedure GetScriptInfo(Var ScriptInfo:TDXScriptInfo);
override;
Class Procedure InitializeClass(Const
Info:TDXInitializeClassInfo); override;
End;
Implementation
Const
CLSID_Script:TGUID='{52C58061-6335-11D6-9137-004F4900150E}';
Class Procedure Tv72.GetScriptInfo(Var ScriptInfo:TDXScriptInfo);
Begin
ScriptInfo.MessageTable:='xtra v72'#10+
// Add method declerations here
'* myListMethod inputList String'#10+
'* myDelphiList'#10+
'* mylinearListMethod inputList String'#10;
End;
Class Procedure Tv72.InitializeClass(Const Info:TDXInitializeClassInfo);
Begin
End;
Procedure Tv72.ExecuteFunction(FunctionIndex:Cardinal;
Const ArgList:IDXArgList; Const Result:IDXValue);
Procedure myListMethod(inputList : String);
Begin
// do something to it and return it to Director
inputList:='[#a:"1",#b:"2",#c:"3",#d:"FOUR"]';
Result.Text:=inputList;
End;
Procedure myDelphiList;
Begin
Result.Text:='[#a:"1",#b:"TWO",#c:"3"]';
End;
Procedure myLinearListMethod(inputList : String);
Begin
// I will just return a dummy result
Result.Text:='[9,8,7,6]';
End;
Begin
Case FunctionIndex Of
0: myListMethod(argList[0].Text);
1: myDelphiList;
2: myLinearListMethod(argList[0].Text);
End;
End;
Initialization
RegisterDXClass(Tv72,CLSID_Script);
End.
//Generated 09May02 by DOMAJ