我遇到了一個來自article的示例問題。這篇文章解釋瞭如何導入自己的類,以便可以從Pascal腳本中調用它們。我正在導入我的自定義類,但無法讓Pascal腳本識別「創建」和「自由」功能。如何讓Pascal腳本在導入自定義類時識別'創建'和'自由'功能?
我的插件:
TMyPsPlugin = class
public
procedure PrintMessage(const AMessage: String);
end;
procedure TMyPsPlugin.PrintMessage(const AMessage: String);
begin
ShowMessage(AMessage);
end;
我的應用程序:
procedure TForm1.FormCreate(Sender: TObject);
var
Plugin: TPSPlugin;
begin
Plugin := TPSImport_MyPsPlugin.Create(Self);
TPSPluginItem(ps.Plugins.Add).Plugin := Plugin;
end;
procedure TForm1.bCompileClick(Sender: TObject);
begin
ps.Script.Text := mScript.Text;
if ps.Compile then
begin
if ps.Execute then
ShowMessage('Done.')
else
ShowMessage('Execution Error: ' + Ps.ExecErrorToString);
end
else
HandleError;
end;
我的腳本:
program test;
var
Plugin: TMyPsPlugin;
begin
Plugin := TMyPsPlugin.Create;
Plugin.PrintMessage('Hello');
Plugin.Free;
end.
錯誤消息:
[Error] (5:25): Unknown identifier 'Create'
[Error] (7:10): Unknown identifier 'FREE'
謝謝。我將這兩個函數添加到生成的代碼中,並且工作正常。注意:我必須在生成的函數SIRegister_TMyPsPlugin和RIRegister_TMyPsPlugin被調用之前添加。 –