DOMAJ DXLIB TIPS
This simple example writes the member width to the message
window and returns the text of the member with the characters
in reverse order.
eg.
a=tdFieldTest(1,1)
member width: 249 <---- written by the xtra
member(2).text = a
Unit fieldTest;
Interface
Uses DXClasses, Windows, sysUtils;
Type
  Tv66=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
Uses strUtils;
Const
  CLSID_Script:TGUID='{E5F53CC1-57C0-11D6-9135-004F4900150E}';
Var
  fieldType, fieldText, fieldWidth: TDXSymbol;
Class Procedure Tv66.GetScriptInfo(Var ScriptInfo:TDXScriptInfo);
Begin
  ScriptInfo.MessageTable:='xtra v66'#10+
    '* tdFieldTest castNumber integer, memberNumber integer'#10;
End;
Class Procedure Tv66.InitializeClass(Const Info:TDXInitializeClassInfo);
Begin
  fieldType := info.SymbolManager.CreateSymbol('FIELD');
  fieldText := info.SymbolManager.CreateSymbol('TEXT');
  fieldWidth := info.SymbolManager.CreateSymbol('WIDTH');
End;
Procedure Tv66.ExecuteFunction(FunctionIndex:Cardinal;
  Const ArgList:IDXArgList; Const Result:IDXValue);
Procedure tdFieldTest (castNumber, memberNumber : Integer);
Var
  cast : IDXCast;
  member : IDXCastMember;
  tdValue : IDXValue;
Begin
  cast := Movie.GetCastByIndex(castNumber);
  member := cast.CastMember[memberNumber];
  tdValue := member.GetProperty(fieldWidth);
  sendMessage('member width: '+intToStr(tdValue.Integer)+#10);
  tdValue := member.GetProperty(fieldText);
  result.Text := reverseString(tdValue.Text);
End;
Begin
  Case FunctionIndex Of
  0: tdFieldTest(argList[0].Integer,ArgList[1].Integer);
  End;
End;
Initialization
  RegisterDXClass(Tv66,CLSID_Script);
End.
Generated on 29APR02 by DOMAJ
Click here to see fieldTest_pas.HTM in a separate window
DXLIB TIPS INDEX
- When I use sendMessage, the message does not appear in the Director message window. Why?
- How do I return a value to Director?.
- What is the results interface?
- Field properties.
- How do I trigger the mouseUp handler?
- How do I add my own function to an asset?
- How do I add my own function to a sprite?
- How do I manipulate the score?
- How do I show delphi forms?
- How do I define and use my own variables?
- How do I create and and read global variables and their values?
- How do I create a behavior?
- How do I trigger a script in Director?
- How do I get the properties of a cast member?(31Mar03)
- How do I manipulate casts?
- How do I debug an XTRA?
- How do I draw a castmember icon?
- How do I add my own resource file bitmap as the castmember icon?
- How do I add a Director property interface
- Using the bitmap media property of a castmember (30Apr02)
- How do I return a list to Director (09May02)
- How to create, execute and delete a Director script (08Oct02)
- How to create a Director Bitmap (09Oct02)
- How to export a Director Bitmap (15Oct02)
DOMAJ Links

