Показать сообщение отдельно
  #1  
Старый 08.05.2022, 17:16
{$M+} {$M+} вне форума
Прохожий
 
Регистрация: 08.05.2022
Сообщения: 2
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Работа с DefineProperties и ".dfm"-файл

Всем привет!
Имеется часть кода:
Код:
...
type
  TForm2 = class(TForm)
    Edit1: TEdit;
  private
    //
  protected
    procedure DefineProperties(Filer: TFiler); override;
    procedure WriteZ(Writer: TWriter);
  public
    //
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.WriteZ(Writer: TWriter);
begin
 Writer.WriteIdent('ValueTest');
end;

procedure TForm2.DefineProperties(Filer: TFiler);
begin
 inherited;
 Filer.DefineProperty('PropTest', nil, WriteZ, True);
end;
Используя потоковую систему, я сохраняю дополнительное свойство
в ".dfm" : PropTest = ValueTest
Результат:
Код:
object Form2: TForm2
  Left = 203
  Top = 107
  Width = 300
  Height = 200
  Caption = 'Form2'
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'MS Sans Serif'
  Font.Style = []
  OldCreateOrder = False
  Position = poDesktopCenter
  PixelsPerInch = 96
  TextHeight = 13
PropTest = ValueTest
  object Edit1: TEdit
    Left = 32
    Top = 32
    Width = 121
    Height = 21
    TabOrder = 0
    Text = 'Edit1'
  end
end
Новое свойство относится к объекту Form2, а как сделать, чтобы
свойство относилось к объекту Edit1 ?
Есть способ выбора компонента?
Админ: Пользуемся тегами при оформлении кода!
Ответить с цитированием