Advertisement
Guest User

Untitled

a guest
Sep 30th, 2016
43
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.19 KB | None | 0 0
  1. unit frxCustomFuncs;
  2.  
  3. interface
  4. var myGlobalVar: primitiveType;
  5. implementation
  6.  
  7. uses sysUtils, Classes, fs_iinterpreter,
  8. myUnit;
  9.  
  10. type
  11. TFunctions = class(TfsRTTIModule)
  12. private
  13. function CallMethod(Instance: TObject;
  14. ClassType: TClass; const MethodName: String; var Params: Variant): Variant;
  15. public
  16. constructor Create(AScript: TfsScript); override;
  17. end;
  18.  
  19.  
  20.  
  21. procedure myCustomProcedure(myParam1, myParam2: TdateTime);
  22. var myVar: TMyCustomClass; //declared in myUnit
  23. begin
  24. myVar:= TMyCustomClass.create(myParam1, myParam2);
  25. try
  26.  
  27. Some code ...
  28. myGlobalVar:= myVar.property;
  29. some code ...
  30. finally
  31. myVar.Free;
  32. end;
  33. end;
  34.  
  35. { TFunctions }
  36.  
  37. function TFunctions.CallMethod(Instance: TObject; ClassType: TClass;
  38. const MethodName: String; var Params: Variant): Variant;
  39. begin
  40. if MethodName = 'myCustomProcedure' then
  41. myCustomProcedure(Params[0], Params[1]);
  42. end;
  43.  
  44. constructor TFunctions.Create(AScript: TfsScript);
  45. begin
  46. inherited create(AScript);
  47. with AScript do
  48. begin
  49. AddMethod('procedure myCustomProcedure(myParam1, myParam2: TdateTime)',
  50. CallMethod, 'My Functions', 'custom description');
  51. end;
  52. end;
  53.  
  54. initialization
  55. fsRTTIModules.Add(TFunctions);
  56.  
  57. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement