Delphi 2009: как предотвратить перетекание дочерних элементов фрейма в форму хоста?

С тех пор, как я обновился до Delphi 2009, у меня ужасный опыт работы с потомками TFrame. По сути, дочерние компоненты фрейма перетекают в основную форму как объект, что вызывает сбой имени, не найденный класс и т. Д. В dfm старый Delphi имеет фрейм как inline, а дочерние компоненты как inherited. В среде IDE Delphi 2009 дочерние элементы теперь расширяются как object.

Изменить: я видел, как это происходило с несколькими формами, но я не могу воспроизвести это с помощью небольшого демонстрационного приложения.


person Eugene Yokota    schedule 23.06.2009    source источник
comment
У меня с этим не было проблем. Вы можете привести пример?   -  person Mason Wheeler    schedule 23.06.2009
comment
То же самое - никаких проблем с унаследованными кадрами. И я ими часто пользуюсь.   -  person Uwe Raabe    schedule 23.06.2009
comment
вздох У меня были такие ошибки, которые я не могу свести к простому POC. Посмотрите, сможете ли вы найти способ сообщить об этом в QC.   -  person Mason Wheeler    schedule 23.06.2009


Ответы (2)


Я не знаю, что случилось с вашим проектом, но я только что создал новое приложение D2009 с:
- основной формой,
- фреймом предка, содержащим Edit1 и Label1 ,
- дочерний фрейм, происходящий от предка, где я добавил Label2 и Edit2
- экземпляр ChildFrame, помещенный в основную форму, где я немного переместил Label2.

Вот очень нормальный результат dfm:

object MyForm: TMyForm
  Left = 0
  Top = 0
  Caption = 'MyForm'
  ClientHeight = 286
  ClientWidth = 412
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'Tahoma'
  Font.Style = []
  OldCreateOrder = False
  PixelsPerInch = 96
  TextHeight = 13
  inline ChildFrame1: TChildFrame
    Left = 8
    Top = 8
    Width = 313
    Height = 240
    TabOrder = 0
    ExplicitLeft = 8
    ExplicitTop = 8
    ExplicitWidth = 313
    inherited Label2: TLabel
      Left = 162
      ExplicitLeft = 162
    end
  end
end
person Francesca    schedule 23.06.2009

Правильно ли добавлены родительские формы в .dpr?

person Marco van de Voort    schedule 23.06.2009
comment
@Marco, да они добавлены в dpr. - person Eugene Yokota; 24.06.2009