使用Pascal Script和SynEdit创建IDE

Bri*_*ost 9 ide delphi scripting pascalscript synedit

我正在使用RemObjects的PascalScript(优秀)和SynEdit编辑器创建一个内置的脚本引擎.它几乎完成了使用PascalScript附带的IDE示例和SynEdit中的IDE示例 - 但是 - 我无法看到如何询问PascalScript编号的源代码行是否是"可执行的".(然后我可以用它来用'Delphi蓝点'标记SynEdit排水沟).我想我可能不得不对ROPS输出进行反汇编?

这里有PascalScript专家吗?谢谢.布莱恩.

mgh*_*hie 9

看看Inno Setup的源代码.它确实在SynEdit装订区域中显示了一个小点,用于具有可执行代码的行,灰色用于可执行但尚未执行的行,绿色用于已被命中至少一次的行.

可以找到此代码CompForm.pas,查找TLineState类型.信息是iscbNotifySuccess在编译器回调的状态下设置的,您可以在IDE中执行相同的操作.您可能需要调整代码以处理多个源文件,因为Inno Setup编译器仅处理单个源文件中的代码片段.

在Pascal脚本源代码中,您应该查看该TPSCustomDebugExec.TranslatePositionEx()方法 - 它也会返回源文件的名称.