中国开发网: 论坛: 程序员情感CBD: 贴子 113708
有狐
不是,还有里面这些:
上个帖子我没贴全 ;)

宿主代码就下面这些,脚本就图片里的那几行没错

procedure Teditor.ceCompile(Sender: TPSScript);
begin
Sender.AddRegisteredVariable('TestObject', 'TTestObject');
end;

procedure Teditor.ceExecute(Sender: TPSScript);
begin
ce.SetVarToInstance('TESTOBJECT', TestObject);
end;

procedure Teditor.ceCompImport(Sender: TObject; x: TPSPascalCompiler);
begin
with X.AddClassN(X.FindClass('TOBJECT'), 'TTESTOBJECT') do
begin
RegisterProperty('TEXT', 'STRING', iptRW);
RegisterProperty('ONCHANGE', 'TNOTIFYEVENT', iptRW);
end;
end;

procedure TTESTOBJECT_TEXT_R(Self: TTestObject; var T: String);
begin
T := Self.Text;
end;

procedure TTESTOBJECT_TEXT_W(Self: TTestObject; const T: String);
begin
Self.Text := T;
end;

procedure TTESTOBJECT_ONCHANGE_R(Self: TTestObject; var T: TNotifyEvent);
begin
T := Self.OnChange;
end;

procedure TTESTOBJECT_ONCHANGE_W(Self: TTestObject; const T: TNotifyEvent);
begin
Self.OnChange := T;
end;

procedure Teditor.ceExecImport(Sender: TObject; se: TPSExec; x: TPSRuntimeClassImporter);
begin
with x.Add(TTESTOBJECT) do
begin
RegisterPropertyHelper(@TTESTOBJECT_TEXT_R, @TTESTOBJECT_TEXT_W, 'Text');
RegisterEventPropertyHelper(@TTESTOBJECT_ONCHANGE_R, @TTESTOBJECT_ONCHANGE_W, 'OnChange');
end;
end;

相关信息:


欢迎光临本社区,您还没有登录,不能发贴子。请在 这里登录