Janex72 Опубликовано 5 декабря, 2017 Поделиться Опубликовано 5 декабря, 2017 (изменено) Привет всем. Надо создать простой компонент который содержал бы фрейм, на VCL много лет такие делал, всё работало, а тут что то не так ... Вот код: Type TxdfScope = Class(TStyledControl) Private FFrame :TmyFrame; Public Constructor Create(Owner :TComponent); Override; Published End; Constructor TxdfScope.Create(Owner :TComponent); Begin Inherited Create(Owner); FFrame := TmyFrame.Create(Self); FFrame.Parent := Self; FFrame.Align := TAlignLayout.Client; SetAcceptsControls(False); End; На фрейме один TButton; Всё вроде как бы правильно, компилится итд. Кидаю компонент на форму - прекрасно, всё как хочется. Сохраняю, открываю заново и получаю AV и т.д. Смотрю в соурс форм и вижу, что видны всё внутренности компонента: object xdfScope1: TxdfScope object TmyFrame Align = Client Size.Width = 200.000000000000000000 Size.Height = 100.000000000000000000 Size.PlatformDefault = False object Button1: TButton Position.X = 32.000000000000000000 Position.Y = 32.000000000000000000 TabOrder = 0 Text = 'Button1' end end end Чувствую что что то не хватает чтоб вёл он себя как нормальный компонент ... WBR Janex Изменено 5 декабря, 2017 пользователем Andrey Efimov Исправил кучу ошибок в тексте и заголовке... Ссылка на комментарий
0 Janex72 Опубликовано 5 декабря, 2017 Автор Поделиться Опубликовано 5 декабря, 2017 Атбои ... Часами искал где что нехватает и надобыло только тут написать, как сразу сам нашёл где грабли Надо было только одну строчку добавить, как всё стало на свои места: FFrame.Stored := False; Ссылка на комментарий
Вопрос
Janex72
Привет всем.
Надо создать простой компонент который содержал бы фрейм, на VCL много лет такие делал, всё работало, а
тут что то не так ...
Вот код:
Type TxdfScope = Class(TStyledControl) Private FFrame :TmyFrame; Public Constructor Create(Owner :TComponent); Override; Published End; Constructor TxdfScope.Create(Owner :TComponent); Begin Inherited Create(Owner); FFrame := TmyFrame.Create(Self); FFrame.Parent := Self; FFrame.Align := TAlignLayout.Client; SetAcceptsControls(False); End;
На фрейме один TButton;
Всё вроде как бы правильно, компилится итд.
Кидаю компонент на форму - прекрасно, всё как хочется. Сохраняю, открываю заново и получаю AV и т.д.
Смотрю в соурс форм и вижу, что видны всё внутренности компонента:
object xdfScope1: TxdfScope object TmyFrame Align = Client Size.Width = 200.000000000000000000 Size.Height = 100.000000000000000000 Size.PlatformDefault = False object Button1: TButton Position.X = 32.000000000000000000 Position.Y = 32.000000000000000000 TabOrder = 0 Text = 'Button1' end end end
Чувствую что что то не хватает чтоб вёл он себя как нормальный компонент ...
WBR
Janex
Исправил кучу ошибок в тексте и заголовке...
Ссылка на комментарий
1 ответ на этот вопрос
Рекомендуемые сообщения