Начало работы с RemObjects Pascal Script в Delphi - PullRequest
1 голос
/ 21 июня 2010

Я только начал работать со скриптом RemObjects Pascal. и пытался следовать учебнику remobjects.

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

все шло хорошо до той части, которую вы выполняете

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 Пожалуйста, помогите мне понять, что я, возможно, делаю что-то глупое.

Ответы [ 2 ]

2 голосов
/ 21 июня 2010

Хорошо, я попытался построить пример, показанный на этой странице, и он скомпилирован и работает для меня правильно. Попробуйте использовать пример, показанный в верхней части страницы, под заголовком «Следующий код скомпилируется и ...». Просто убедитесь, что пропущена строка, заменяющая текст скрипта.

Что касается плагинов, он не может зарегистрировать ваши типы событий, потому что они ссылаются на классы объектов, которые еще не были зарегистрированы. К сожалению, система плагинов PS не имеет никакого способа автоматического разрешения зависимостей, и сообщение об ошибке компилятора не говорит вам, какой тип он не может найти. Вам понадобится отладчик, чтобы помочь вам решить эту проблему. Но многие основы, включая TObject (да, вы должны импортировать его явно), содержатся в TPSImport_Classes.

0 голосов
/ 22 июля 2013

У меня такая же проблема. Это не имеет ничего общего с синтаксисом, только с включением шаблона Forms-Unit для компилятора скрипта. Извините, у меня нет решения для этой проблемы, потому что это происходит даже при удалении событий OnMenuDrawItem и OnMenuAdvancedDrawItem (которые создают проблемы). Я использую BDS 2006, это может быть проблемой, так как он использует расширенный исходный код Forms по сравнению с тем, что использовала D7 (для которой на самом деле была сделана версия RO PS). Итак, удалите модуль модуля Forms для компилятора, который также включает модуль меню, и попробуйте снова, что должно «решить» вашу проблему.

...