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

Динамическое создание объекта во фрейме


Sascha

Вопрос

Весь день бьюсь и не могу заставить код откомпилироваться без ошибок.

Есть фрейм, на нем динамически создаем потомков TImage класса.

unit fram;

interface

uses
  System.SysUtils, System.Types, System.UITypes, System.Classes,
  System.Variants, FMX.Objects,
  FMX.Types, FMX.Graphics, FMX.Controls, FMX.Forms, FMX.Dialogs, FMX.StdCtrls,
  FMX.Controls.Presentation;

type
  TMovingImage = class(TImage)
    constructor Create(AOwner: TComponent; X, Y: integer); overload;
  end;

type
  TFrame1 = class(TFrame)
    Button1: TButton;
    procedure imgMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Single);
  private
  public
  end;

implementation

{$R *.fmx}

uses main;

constructor TMovingImage.Create(AOwner: TComponent; X, Y: integer);
begin
  inherited Create(AOwner);
  Position.X := X;
  Position.Y := Y;
  Width := 100;
  Height := 100;
  onMouseDown := TFrame1.imgMouseDown;
end;

procedure TFrame1.imgMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Single);
begin
  // code here
end;

end.

Не могу присвоить событию OnMouseDown, десяток вариантов попробовал. Компилятору постоянно что-то не нравится! Please help me

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

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

  • 0

эмм крайне странная логика, не ?
обработчик должен присваивать тот кто создает, а не тот, кого создают
и уж 99.9% компонент не должен знать ничего о классе, куда его будут вставлять

procedure TFrame6.SomeProc();
var
  img: TMyImage;
begin
img := TMyImage.Create(Self);
img.parent := layout5;
img.OnMouseDown := OnMouseDown;
images.add(img);
end;

 

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

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

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

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

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

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

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

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

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

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

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