V720 Director Lists
{-----------------------------------------------------------------------------
 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
