首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在PascalScript中注册自定义数据类型?

如何在PascalScript中注册自定义数据类型?
EN

Stack Overflow用户
提问于 2022-01-30 15:03:54
回答 1查看 71关注 0票数 0

我可以像这样注册自定义函数:

代码语言:javascript
复制
procedure TForm1.PSScript1ExecImport(Sender: TObject; se: TPSExec;
  x: TPSRuntimeClassImporter);
begin
  se.RegisterDelphiFunction(@MWrites, 'Writes', cdRegister);
end;

还有这样的定制类:

代码语言:javascript
复制
procedure TForm1.PSScript1ExecImport(Sender: TObject; se: TPSExec;
  x: TPSRuntimeClassImporter);
var CustomClass: TPSRuntimeClass;
begin
  CustomClass := x.Add(TPerson);
  CustomClass.RegisterMethod(@TPerson.setAge, 'setAge'); 
end;

代码语言:javascript
复制
type TCallback = procedure;

但是如何将TCallback添加到PascalScript中呢?

EN

回答 1

Stack Overflow用户

发布于 2022-01-30 17:44:48

代码语言:javascript
复制
type
  TCallback = procedure;

  TPerson = class(TObject)
    procedure setAge(AValue: TCallback);
  end;  

procedure TForm1.PSScript1Compile(Sender: TPSScript);
var CustomClass: TPSCompileTimeClass;
begin
  CustomClass := Sender.Comp.AddClass(Sender.Comp.FindClass('TObject'), TPerson);
   Sender.Comp.AddTypeS('TCallback', 'procedure');
   Customclass.RegisterMethod('procedure setAge(AValue: TCallback)');   
end;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70915881

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档