Идею в массы: в 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 с их постоянными предупреждениями о возможном вирусе ;)
В ближайшее время планируется сделать 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