我已经在我的软件中包含了PascalScript引擎。我的用户现在想要为这个引擎编写一整套脚本,并且想知道是否可以通过include或uses命令包括其他脚本。
他想要做的是编写一个脚本来保存所有类型的常量/变量,另一个脚本来执行逻辑。最后,他希望将常量包含在他的逻辑脚本中。
我希望这一点足够清楚,可以理解。
发布于 2011-05-26 22:44:06
我发现了,下面是如何处理它的: PascalScript编译器的UsePreprocessor属性需要设置为true。如果是这样,您现在可以使用以下预处理器命令:
{$I filename.txt}
此外,您还需要使用我在网上找到的以下示例来实现编译器的OnNeedFile事件:
function TForm1.ceNeedFile(Sender: TObject; const OrginFileName: String;
var FileName, Output: String): Boolean;
var
path: string;
f: TFileStream;
begin
Path := ExtractFilePath(ParamStr(0)) + FileName;
try
F := TFileStream.Create(Path, fmOpenRead or fmShareDenyWrite);
except
Result := false;
exit;
end;
try
SetLength(Output, f.Size);
f.Read(Output[1], Length(Output));
finally
f.Free;
end;
Result := True;
end;发布于 2011-05-26 16:26:47
(请修改您的问题标题)
我不完全确定,但是afaik Pascalscript没有“文件”的概念。您可以在将这两个部分传递给解释器之前简单地将它们连接起来,或者让一个小的预处理器查找{$I } include语句并查找要插入的代码。
发布于 2021-03-16 14:06:01
如果您将条件定义设置为PS_USESSUPPORT,并且在OnFindUnknownFile事件中,您必须将pas文件内容加载到输出字符串中。
然后你可以使用"Uses XYZ;“。
https://stackoverflow.com/questions/6135389
复制相似问题