首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >导入PascalScript中的重载函数

导入PascalScript中的重载函数
EN

Stack Overflow用户
提问于 2012-05-31 13:41:38
回答 2查看 451关注 0票数 2

如何确保AddFunction())导入正确的函数(考虑到该函数已经重载,使用PascalScript )?

对于exmaple,我想导入system.Random。在EngineCompile事件中,我添加了以下内容:

代码语言:javascript
复制
AddFunction( @System.Random, 'function Random: Extended;' );

但是,当测试一个随机调用的脚本时,我总是得到NAN作为结果。

我的测试脚本是

代码语言:javascript
复制
Program Script;
Var
  a: Single;
  Check: String;
Begin
  a := Random;
  Check := FloatToStr(a);
  ShowMessage(Check);
End.

我有种强烈的感觉,PascalScript导入了另一个版本的随机。你觉得呢?

EN

回答 2

Stack Overflow用户

发布于 2012-05-31 14:31:56

在每个可能的重载上放置一个断点(在System.pas中,针对这个特殊情况)。执行你的剧本。看看调试器停在哪一个。

票数 1
EN

Stack Overflow用户

发布于 2018-04-26 12:34:03

我就是这样做的:

汇编:

代码语言:javascript
复制
psc.AddDelphiFunction('function Random(const ARange: Integer): Integer');
psc.AddDelphiFunction('function Random2: Extended');

运行时:

代码语言:javascript
复制
type TRandom2 = function: Extended;
var Random2: TRandom2;

pse.RegisterDelphiFunction(@Random,'Random',cdRegister);
Random2:=Random;
pse.RegisterDelphiFunction(@Random2,'Random2',cdRegister);

我强制使用了一个类型定义的“随机:扩展”。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10834836

复制
相关文章

相似问题

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