Проблема со своим классом в FastScript

отредактировано 22:46 Раздел: FastReport 3.0
Делаю все как написано в руководстве, в своем модуле 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

ЧТО ДЕЛАТЬ??

Комментарии

  • отредактировано 22:46
    У объекта класса TfrxDialogControl parent должен быть tfrxDialogPage(или любой другой наследуемый от TfrxComponent), если хотите использовать объект на обычных формах, то наследуйте класс от TCustomControl или TWinControl.
  • отредактировано April 2006
    А усли я отнаследуюсь не от TfrxDialogControl, то как мне добавить мой собственный компонент на панель элементов, ведь, как я понял, я должен использовать процедуру
    frxObjects.RegisterObject(TfrxMyBitBtnControl, Bmp, 'Категория1');
  • отредактировано 22:46
    Никак, также как и класс TForm, он будет доступен только из скрипта.
  • отредактировано 22:46
    Правильно ли я понимаю, что я должен отдельно описывать свой класс для панели элементов, и отдельно для FastScript?
  • отредактировано 22:46
    Первый класс для tfrxDialogForm (если хотите использовать компонент на диалогах FR).
    Второй для стандартных VCL форм (наследник TWinControl или TCustomControl).

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.