Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- unit frxCustomFuncs;
- interface
- var myGlobalVar: primitiveType;
- implementation
- uses sysUtils, Classes, fs_iinterpreter,
- myUnit;
- type
- TFunctions = class(TfsRTTIModule)
- private
- function CallMethod(Instance: TObject;
- ClassType: TClass; const MethodName: String; var Params: Variant): Variant;
- public
- constructor Create(AScript: TfsScript); override;
- end;
- procedure myCustomProcedure(myParam1, myParam2: TdateTime);
- var myVar: TMyCustomClass; //declared in myUnit
- begin
- myVar:= TMyCustomClass.create(myParam1, myParam2);
- try
- Some code ...
- myGlobalVar:= myVar.property;
- some code ...
- finally
- myVar.Free;
- end;
- end;
- { TFunctions }
- function TFunctions.CallMethod(Instance: TObject; ClassType: TClass;
- const MethodName: String; var Params: Variant): Variant;
- begin
- if MethodName = 'myCustomProcedure' then
- myCustomProcedure(Params[0], Params[1]);
- end;
- constructor TFunctions.Create(AScript: TfsScript);
- begin
- inherited create(AScript);
- with AScript do
- begin
- AddMethod('procedure myCustomProcedure(myParam1, myParam2: TdateTime)',
- CallMethod, 'My Functions', 'custom description');
- end;
- end;
- initialization
- fsRTTIModules.Add(TFunctions);
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement