Генерация кода визуальных настроек компонент

Naf
Дата: 16.11.2007 12:26:47
создали форму, визуально накидали туда всяких компонент, через инспектор настроили им свойства, все это записалось в dfm
при компиляции создался exe который работает без dfm
какой код скомпилировался?
все настройки свойств хранятся как ресурсы и генерируется код создания объектов с последующей загрузкой свойств? или как?
softwarer
Дата: 16.11.2007 12:34:36

Хороший, правильный вопрос. Его стоит задать и еще больше стоит
самостоятельно разобраться.

Для начала - загляни в TCustomForm.Create, и дальше вглубь:
InitInheritedComponent и далее в TReader. Где лежат исходники VCL, надеюсь,
знаешь.


Posted via ActualForum NNTP Server 1.4

Warstone
Дата: 16.11.2007 12:57:33
Naf, в общем и целом ты прав(а). Именно грузятся ресурсы, по ним создаются компоненты. А dfm никуда не делись... Они так и лежат в ехе, только как те самые присловутые ресурсы.
Naf
Дата: 16.11.2007 13:10:15
в С# я так понял при визуальном изменении свойств студия генерирует код метода
InitializeComponent()
И какой подход лучше/хуже?
softwarer
Дата: 16.11.2007 13:29:32
Naf
в С# я так понял при визуальном изменении свойств студия генерирует код метода
InitializeComponent()

Да. И это плохой метод, в частности, из-за этого резко затрудняется написание конструкторов форм, особенно при их наследовании. Есть и другие недостатки, но вряд ли стоит перечислять их и превращать тему в место священной битвы. В студии еще относительно пристойно, хотя тоже не фонтан; в явовских оболочках совсем хреново.
DimaBr
Дата: 16.11.2007 14:05:51
автор
все настройки свойств хранятся как ресурсы и генерируется код создания объектов с последующей загрузкой свойств?

Для этого берем например Restorator,ResHasker DFMEdit или любую другую соответствующую програмулю, открываем EXE-шку и прекрасно видим все формы.