TdxBarButton的FASTSCRIPT封装

// cxg 2017-2-13

unit fs_dev;

interface
{$i fs.inc}
uses
fs_iinterpreter, fs_itools, fs_ievents,
fs_iclassesrtti, Variants,
dxBar, cxClasses
;

type
TdxBarButtonRTTI = class(TdxBarButton); // fake component

TfsNotifyEvent = class(TfsCustomEvent)
public
procedure DoEvent(Sender:TObject);
function GetMethod: Pointer; override;
end;

type
TdevFunctions = class(TfsRTTIModule)
private
function CallMethod(Instance: TObject; ClassType: TClass;
const MethodName: String; Caller: TfsMethodHelper): Variant;
function GetProp(Instance: TObject; ClassType: TClass;
const PropName: String): Variant;
procedure SetProp(Instance: TObject; ClassType: TClass;
const PropName: String; Value: Variant);
public
constructor Create(AScript: TfsScript); override;
end;

implementation

procedure TfsNotifyEvent.DoEvent(Sender: TObject);
begin
CallHandler([Sender]);
end;

function TfsNotifyEvent.GetMethod: Pointer;
begin
Result := @TfsNotifyEvent.DoEvent;
end;

constructor TdevFunctions.Create(AScript: TfsScript);
begin
inherited Create(AScript);
with AScript do
begin
with AddClass(TdxBarButton, 'TdxBarButton') do
begin
AddEvent('OnClick', TfsNotifyEvent);
end;
end;
end;

function TdevFunctions.CallMethod(Instance: TObject; ClassType: TClass;
const MethodName: String; Caller: TfsMethodHelper): Variant;
begin
end;

function TdevFunctions.GetProp(Instance: TObject; ClassType: TClass;
const PropName: String): Variant;
begin
end;

procedure TdevFunctions.SetProp(Instance: TObject; ClassType: TClass;
const PropName: String; Value: Variant);
begin
end;

initialization
fsRTTIModules.Add(TdevFunctions);
finalization
fsRTTIModules.Remove(TdevFunctions);

end.

最新文章

  1. 开源Word读写组件DocX 的深入研究和问题总结
  2. box-shadow 的一些使用
  3. iOS 序列化与反序列化
  4. log4jdbc-remix安装配置
  5. GridView中的超级链接技巧
  6. 错误: 找不到或无法加载主类 scala.tools.nsc.MainGenericRunner
  7. python学习===计算字符串中子串出现的次数。
  8. 如何使用cloudflare的CDN加速网站隐藏网站IP
  9. rpm 命令使用 和 lsof -p 1406 使用
  10. 认识IQueryable和IQueryProvider接口
  11. Ubuntu 14.04 下搭建SVN服务器 (转载自 http://www.linuxidc.com/Linux/2015-01/111956.htm)-------------我所用到是红色字体
  12. redis sentinel哨兵的使用
  13. C#利用反射动态调用DLL并返回结果,和获取程序集的信息
  14. 「小程序JAVA实战」小程序的视频展示页面初始化(63)
  15. JAVA练手--集合
  16. 如何解决ORA-12547错误!
  17. HTML5纯Web前端也能开发直播,不用开发服务器(使用face2face)
  18. ntp 校时程序
  19. Linux下解决 id_rsa 权限不够
  20. helloworld:一个完整的WCF案例

热门文章

  1. hdu 5984
  2. JQuery根据字母检索元素并导航到指定位置
  3. 手撸一套纯粹的CQRS实现
  4. 03009_HttpServletResponse
  5. Hive安装步骤
  6. NHibernate N+1问题实例分析和优化
  7. Linux安装Scala
  8. perl第三章 列表和数组
  9. PTA 10-排序6 Sort with Swap(0, i) (25分)
  10. 【Luogu】P2146软件包管理器(树链剖分)