article의 예제에 문제가 있습니다. 이 기사에서는 파스칼 스크립트에서 호출 할 수 있도록 클래스를 가져 오는 방법에 대해 설명합니다. 커스텀 클래스를 임포트하고 있지만 파스칼 스크립트가 '생성'과 '프리'기능을 인식하지 못합니다.커스텀 클래스를 가져올 때 파스칼 스크립트가 '생성'과 '프리'기능을 인식하도록하려면 어떻게해야합니까?
내 플러그인 :
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이 호출되기 전에 이것을 추가해야했습니다. –