Акжан в сети - На уровень вверх(VCL) IMHO файл *.dfm - это компилированный ресурс с определением установок формы. А можно ли как-то увидеть этот ресуpс в исходном виде?

  1. File|Open... ТвояФорма.DFM - увидишь текст;
  2. "\delphi\bin\convert ТвояФорма.DFM" - получится ТвояФорма.TXT (можно и наоборот).

Идею в массы: в DN/VC/NC можно настроить viewer'ом .DFM .BAT'ник, который скажет convert;wpview;del - и заглядывать в .DFM не открывая Delphi.

Кстати, функции, которые реализуют это преобразование, доступны для использования в личных целях :)

CLASSES.PAS:
[...]
{ Object conversion routines }

procedure ObjectBinaryToText(Input, Output: TStream);
procedure ObjectTextToBinary(Input, Output: TStream);

procedure ObjectResourceToText(Input, Output: TStream);
procedure ObjectTextToResource(Input, Output: TStream);

Александр Петросян, Зеленоград.

(2:5020/468.8)

А здесь описание одной неплохой программы -

DFM-Viewer

T & R (VA), Donetsk, Ukraine

Назначение программы ясно из ее названия.

Историческая справка

Программка появилась сравнительно недавно (в 1998 г.) как Viewer для личного использования. Тогда даже номера версии у нее не было. Понятное дело, и help'а тоже. В настоящее время она "обросла" некоторыми "наворотами", присущими полновесному редактору, однако мы решили не изменять "исторического названия".

Программа работает ТОЛЬКО в случае наличия на компьютере (или "путях") Delphi RunTime packages. В противном случае зачем Вам нужна эта утилита? Первоначально информация о пакетах "вычитывается" из реестра (registry). В дальнейшем все это можно переконфигурировать из программы или "вручную" через соответствующий ini-файл, который создается "рядышком" с файлами пакета.

Состав пакета:

Просматривать можно любые формы клона Delphi (Delphi-1, 2, 3, 4, C++ Builder). Проблемы могут возникнуть при попытке разбора форм с неизвестными компонентами/свойствами. В этом случае их (соответствующие package) надо будет просто подключить ;) через меню "Options". Текущая версия работает с package Delphi-3, 4. После установки по умолчанию будут использованы пакеты Delphi-3. Для переключения на Delphi-4 следует в файле DFMView.cfg изменить имя DLL с DFMView3.dll на DFMView4.dll. Если Вы случайно повредите или удалите файл DFMView.cfg, то его можно восстановить в любом текстовом редакторе. Он имеет следующий вид:

[Viewer]
DLL=DFMView3.dll

Возможности программы:

ВНИМАНИЕ: при просмотре "полуживых" (live) форм следует учитывать, что поведение той или иной компоненты полностью определяется кодом, который находится в "пакете", где определена данная компонента. Чтобы не "нарваться" на неожиданное поведение компоненты, рекомендуется установить режим просмотра dead. В этом случае компоненты, из которых и состоят формы, "отрезаются" от внешнего мира ("глушатся" клавиатурные и мышинные события) и форма (вместе с компонентами на ней лежащих, разумеется) переводится в режим csDesigning. Конечно, это не защитит Вас от "неправильной" работы компоненты (с Вашей, а не автора оной компоненты точки зрения!!!), однако это хоть что-то. Вспомните MS-Office с их постоянными предупреждениями о возможном вирусе ;)

Ограничения FreeWare версии

Планы на будущее

В ближайшее время планируется сделать DFM-Viewer для пользователей xUSSR полнофункциональной, бесплатной и с русским интерфейсом. Может быть редактор форм AsText будет слегка переделан к виду NoteBook.

Условия использования

Активные бета-тестеpы могут pассчитывать на бесплатную pегистpацию пpогpаммы (если они того пожелают) и признательность авторов плюс кое-какие профессиональные секреты ;).

Известные баги

Наиболее неприятный это самопроизвольное переключение CharSet в текстовом редакторе. Мы не нашли удовлетворительного способа заставить TRichEdit корректно работать :(

Как известно, настоящие баги еще впереди и в настоящий момент авторы будут весьма признательны, если Вы сообщите о них. Однако, если вдруг по непонятным причинам программа стала вести себя "как-то не так", для начала попробуйте удалить ini-файл (напоминаем, что он обычно располагается по месту exe-файла). В этом случае программа запустится с умалчиваемыми установками.

БЛАГОДАРНОСТИ

Самую свежую версию DFM-Viewer можно загрузить из:

http://batry.hypermart.net/DFMView.zip или http://www.geocities.com/SiliconValley/Orchard/9358/DFMView.zip.

Заодно рекомендую Resource Explorer -

http://batry.hypermart.net/ResXplor.zip или http://www.geocities.com/SiliconValley/Orchard/9358/ResXplor.zip.

Пожелания & etc. просьба направлять на E-Mail:

Trunov@dicom.donetsk.ua