我刚刚开始使用remobjects pascal脚本。并一直在尝试遵循remobjects教程。

http://devcenter.remobjects.com/articles/?id={2FFC1EE9-F18D-4B11-9DE4-1BA0A79D04}

一切都很好,直到您运行的部分

begin
  ShowNewMessage('Show This !');
end.

声称它不知道的地方。但是我在这里

procedure Tmainwindow.ceCompile(Sender: TPSScript);
begin
  Sender.AddMethod(Self, @Tmainwindow.ShowNewMessage,
                   'procedure ShowNewMessage(const Message: string);');
end;


procedure ShowNewMessage(const Message: string);


procedure Tmainwindow.ShowNewMessage(const Message: string);
begin
  //ShowMessage('ShowNewMessage invoked:'#13#10+Message);
end;

按照指示添加在编译事件上...所有这些都在Delphi中进行了编译,但是当我在可执行文件中运行代码时,它说它不存在。

其次,如果我添加任何插件来改进脚本的功能调用,我会得到。

alt text请帮助我意识到我可能在这里做一些愚蠢的事情,即我对REM对象的新事物。

有帮助吗?

解决方案

好吧,我尝试构建该页面所示的示例,并为我正确编译并正确运行。尝试使用页面顶部显示的示例,在“以下代码将编译和...”下。只需确保忽略替换脚本文本的行即可。

至于插件,它无法注册您的事件类型,因为它们是指尚未注册的对象类。不幸的是,PS插件系统没有任何自动解决依赖项的方法,并且编译器的错误消息没有告诉您找不到哪种类型。您将需要调试器来帮助您解决此问题。但是,许多基础知识,包括对象(是的,您必须明确导入它)都在tpsimport_classes中找到。

其他提示

我也有同样的问题。这与语法无关,只有包含脚本编译器的form-unit模板。 sry,我没有解决该问题的解决方案,因为它甚至在删除onMenudRawitem和onMenuAdvancedDrawItem事件(都会出现问题)时发生。我使用BDS 2006,这可能是问题,因为它使用了与D7所使用的高级表单源代码(实际上是RO PS的版本)相比。因此,请删除编译器的表单单元插件,其中还包括菜单单元,然后再试一次,应该“解决”您的问题。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top