Dfm-файл - Большая Энциклопедия Нефти и Газа, статья, страница 3
Когда-то я думал, что я нерешительный, но теперь я в этом не уверен. Законы Мерфи (еще...)

Dfm-файл

Cтраница 3


Теперь при запуске программы у вас возникнет проблема: форма будет загружена, но поскольку частные поля не инициализированы, события будут использовать объектные ссылки nil. Опубликованные поля формы Delphi обычно инициализирует, используя компоненты, созданные на основе DFM-файла.  [31]

32 Каждая страница примера FramePag содержит фрейм, разделяя, таким образом, программный код сложной формы на более доступные фрагменты. [32]

Хотя в ходе разработки для определения страниц элемента PageControl можно использовать фреймы, в ходе выполнения я обычно использую другие формы. Этот подход оставляет гибкость наличия страниц, определенных в различных модулях ( и DFM-файлах), но в то же время позволяет использовать эти формы как отдельные окна.  [33]

Во всех версиях Delphi текстовые DFM-файлы более компактны, чем их двоичные представления. Хотя более старые версии Delphi могут не воспринимать новые свойства элементов управления, используемых в DFM-файлах более новых версий, они no - прежнему смогут понять остальную часть текстового DFM-файла. Если же в новой версии Delphi добавлен новый тип данных, то старые версии Delphi вообще не смогут прочитать двоичные DFM. Даже если пока их нет, необходимо помнить, что 64-разрядные операционные системы уже на подходе.  [34]

В представленном выше программном коде вызов метода SetSubComponent устанавливает внутренний флаг, сохраняемый в свойстве ComponentStyle. Этот флаг ( csSubComponent) оказывает влияние на поточную систему, позволяя сохранить подкомпонент и его свойства в DFM-файле. По умолчанию система поточной передачи игнорирует компоненты, не принадлежащие данной форме.  [35]

Второй метод, MethodName, делает обратное преобразование, возвращая имя метода, расположенное в указанном адресе памяти. Этот метод может использоваться для получения имени обработчика события по его значению, что и делает Delphi при поточной передаче компонента в DFM-файл.  [36]

Этот шаг выполняется, только если существующий DCU-файл устарел. Третьим шагом осуществляется привязка к исполняемому файлу дополнительных файлов ресурсов, таких как RES-файлов проекта, в которых располагаются основной значок приложения и DFM-файлы форм.  [37]

Во всех версиях Delphi текстовые DFM-файлы более компактны, чем их двоичные представления. Хотя более старые версии Delphi могут не воспринимать новые свойства элементов управления, используемых в DFM-файлах более новых версий, они no - прежнему смогут понять остальную часть текстового DFM-файла. Если же в новой версии Delphi добавлен новый тип данных, то старые версии Delphi вообще не смогут прочитать двоичные DFM. Даже если пока их нет, необходимо помнить, что 64-разрядные операционные системы уже на подходе.  [38]

Это почти сработает, но сгенерирует системную ошибку, подобную рассмотренной в предыдущем разделе. На этот раз частные определения приведут к тому, что компоновщик свяжет реализации этих классов; проблема в том, что поточная система передачи должна знать имена классов для того, чтобы определять местонахождение ссылки класса, требуемой для конструирования компонентов в ходе загрузки DFM-файла.  [39]

В результате вы получите работающее приложение ( в комплекте исходных файлов этот пример называется RavePrint), которое поддерживает предварительный просмотр и распечатку отчета. Окно предварительного просмотра показано на рис. 18.2. Файл, на который ссылается компонент RvProject, является отдельным файлом, прилагаемым к программе, его можно модифицировать, при этом отчет будет изменен без необходимости изменения программы Delphi. Delphi, для этого необходимо включить RAV-файл в состав DFM-файла.  [40]

Он не является свойством, а лишь локальным значением формы. Если TextHeight - не свойство, то вы можете спросить, как Delphi сохраняет его в DFM-файле.  [41]

Рассмотрим пример с использованием этой важной функции Delphi. Программа называется Actions и демонстрирует некоторые возможности архитектуры действий. Он создан путем размещения нового компонента ActionList в его форме и добавления трех стандартных действий редактирования и нескольких пользовательских. Листинг 6.3 - это список действий, извлеченный из DFM-файла.  [42]

Тем не менее для экспериментов работы с памятью ( не используя DFM-фай-лы) более подходит WriteComponent. После того как создан поток в памяти и в него сохранена текущая форма, проблема состоит в том, как ее вывести на экран. Даже при том, что начиная с версии Delphi 5 IDE может сохранять DFM-файлы в текстовом формате, внутреннее представление, используемое для компилируемого кода, - неизменно двоичный формат.  [43]

44 Некоторые расширения файлов настройки IDE Delphi. [44]

Формат, используемый в новых проектах, можно установить на странице Designer ( Конструктор) диалогового окна Environment Options ( Параметры окружения), а переключение формата отдельных форм - с помощью пункта Text DFM контекстного меню формы. Редактор открытого текста может воспроизводить только текстовую версию. Выбор этого пункта приводит к закрытию формы, ее сохранения ( при необходимости) и открытию DFM-файла в редакторе. Позже можно вернуться к форме, выбрав пункт View As Form ( Просмотр в виде формы) в контекстном меню окна редактора.  [45]



Страницы:      1    2    3    4