Проблема со своим классом в FastScript
Делаю все как написано в руководстве, в своем модуле frxMyBitBtnControlRTTI регистрирую класс AddClass(TfrxMyBitBtnControl, 'TfrxDialogControl');
В FastScript делаю так:
var
f: TForm;
b: TButton;
c: TfrxMyBitBtnControl;
procedure ButtonClick(Sender: TButton);
begin
ShowMessage(Sender.Name);
f.ModalResult := mrOk;
end;
// нет никакой необходимости использовать все параметры в обработчиках событий,
// потому что не производится никакого контроля соответствия типов
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;
c := TfrxMyBitBtnControl.Create(f);
c.Name := 'Button1_';
c.Parent := f;
c.SetBounds(20, 10, 75, 25);
c.Caption := 'Testdswfwefew';
f.ShowModal;
f.Free;
end.
В строчке "c := TfrxMyBitBtnControl.Create(f);" ругается так: Incompatible types Class TfrxComponent и Class TForm
ЧТО ДЕЛАТЬ??
В FastScript делаю так:
var
f: TForm;
b: TButton;
c: TfrxMyBitBtnControl;
procedure ButtonClick(Sender: TButton);
begin
ShowMessage(Sender.Name);
f.ModalResult := mrOk;
end;
// нет никакой необходимости использовать все параметры в обработчиках событий,
// потому что не производится никакого контроля соответствия типов
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;
c := TfrxMyBitBtnControl.Create(f);
c.Name := 'Button1_';
c.Parent := f;
c.SetBounds(20, 10, 75, 25);
c.Caption := 'Testdswfwefew';
f.ShowModal;
f.Free;
end.
В строчке "c := TfrxMyBitBtnControl.Create(f);" ругается так: Incompatible types Class TfrxComponent и Class TForm
ЧТО ДЕЛАТЬ??
Комментарии
frxObjects.RegisterObject(TfrxMyBitBtnControl, Bmp, 'Категория1');
Второй для стандартных VCL форм (наследник TWinControl или TCustomControl).