Перейти к содержанию
Fire Monkey от А до Я
  • 0

Ошибка в DFM


SVTX

Вопрос

Есть простой самописный компонент.

TRectangle и при его создании автоматически создаем TShadowEffect.

После сохранения  эти TShadowEffect начинают массово плодится в DFM. Одна, вторая, третья, 10-тая.

Везде стоит Stored := False и другие проверки. И все равно они плодятся. Как быть коллеги?)

unit uFGComponents;

interface

uses
  System.SysUtils, System.Classes, FMX.Types, FMX.Controls, FMX.Objects,
  FMX.Effects;

type
  TFGRectangle = class(TRectangle)
  private
    { Private declarations }
  protected
    { Protected declarations }
    FShadowEffect: TShadowEffect;
  public
    { Public declarations }
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
  published
    { Published declarations }
  end;

procedure Register;

implementation

uses
  FMX.Graphics;

procedure Register;
begin
  RegisterComponents('FGComponents', [TFGRectangle]);
end;

{ TRectangle1 }

constructor TFGRectangle.Create(AOwner: TComponent);
begin
  inherited;
  with Self do
  begin
    Stroke.Kind := TBrushKind.None;
    XRadius := 4;
    YRadius := 4;
    Fill.Color := $FF23B18C;
  end;
  if (csDesigning in Self.ComponentState) or (csLoading in Self.ComponentState) then Exit;
  FShadowEffect := TShadowEffect.Create(Self);
  with FShadowEffect do
  begin
    Stored := False;
    Distance := 0.01;
    Opacity := 0.3;
    Softness := 0.2;
    Parent := Self;
  end;
end;

destructor TFGRectangle.Destroy;
begin
  FreeAndNil(FShadowEffect);
  inherited;
end;

end.

 

Ссылка на комментарий

Рекомендуемые сообщения

Ответов пока нет

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...