No se puede definir una clase dentro del script, pero se puede usar la clase
Clases externas definidas en los módulos del complemento o en la aplicación.
var
f: TForm;
b: TButton;
procedure ButtonClick(Sender: TButton);
begin
ShowMessage(Sender.Name);
f.ModalResult := mrOk;
end;
// there is no need to use all the parameters in event handlers
// because no type checking is performed here
procedure ButtonMouseMove(Sender: TButton);
begin
b.Caption := 'moved over';
end;
begin
f := TForm.Create(nil);
f.Caption := 'Test it!';
f.BorderStyle := bsDialog;
f.Position := poScreenCenter;
b := TButton.Create(f);
b.Name := 'Button1';
b.Parent := f;
b.SetBounds(10, 10, 75, 25);
b.Caption := 'Test';
b.OnClick := @ButtonClick; { same as b.OnClick := 'ButtonClick' }
b.OnMouseMove := @ButtonMouseMove;
f.ShowModal;
f.Free;
end.
Como puedes ver, no hay diferencia entre PascalScript y
Delfos código. Puede acceder a cualquier método o propiedad (simple, indexado
o por defecto). Se puede acceder a todas las propiedades publicadas de un objeto desde
el script de forma predeterminada. Las propiedades y los métodos públicos necesitan la propiedad
código de implementación. Es por eso que puede acceder a ellos parcialmente (para
ejemplo, no puede acceder a la carpeta TForm.Imprimir método o
TForm.Canvas propiedad porque no se implementan).