ModelMaker в Delphi. Часть 1 - Импорт (и генерация) кода

Предупреждение: для того чтобы избежать перезаписи твоего кода, перед началом импорта кода сделай копию модуля или модулей.

Быстрейший способ увидеть ModelMaker в действии - это импорт, какого ни будь уже созданного тобой кода.Открой ModelMaker и создай новую модель нажав кнопку New или File|New.Здесь мы скажем ModelMaker-ру импортировать исходный файл —он переконструирует найденный код и добавит его в модель.
Если MM столкнется с проблемами при импорте твоего кода, он тебе сообщит об этом.
 


Рис. 1- пустой Units View.

 

Есть много способов импортировать файл, но самый быстрый- посредством drag & drop. В ModelMaker выбери Units View нажатием F4 или выбором его кнопки.
Найди в Windows Explorer модуль, который ты хочешь импортировать и затем позиционируй ММ так, чтобы ты мог перетащить файл в главное окно ММ.
Брось модуль в Units View —если ты создал новый проект, то Units View должен выглядеть примерно как на рис.1.


Рис. 2 - Units View с импортированым модулем

Как только ты бросил модуль, он будет переконструирован.Модуль и любые классы, которые он содержит будут добавленыв Unit List, который теперь должен выглядеть приблизительно так. Рис.2.

Не волнуйся если твои иконки немного отличаются- Я установил некоторые расширения ММ потому это может изменить вид окошка на моем экране.
Узел верхнего уровня в дереве Unit View представляет модуль ты импортировал. Любые child-узлы классов, интерфейсы или события определяют то, что находиться в модуле.
Ты можешь сделать двойной щелчок, чтобы вызвать их редактор.


Рис.3 - the Member List.


Рис.4 - Classes View.

 

Заметь, что если ты выбираешь класс в Unit View, то все его части (свойства, методы, и т.д.) будут отображены в Member List, который выглядит приблизительно так -рис.3.Мы еще остановимся на Member List в Части 5. Сейчас же достаточно обращать внимание на то что части твоего класса представлены здесь. Нажми F3, чтобы переключиться на Classes View. Ты должен обратить внимание, здесь иерархическое представление импортированных тобой классов. Пример рисунок 4.Заметь, что TObject, IInterface и IUnknown всегда присуцтвуют. Также заметь появление моего класса TtsCustomSplitter на рис. 4 — это класс- предок TtsShutter, который я импортировал. Тем не менее, поскольку я не импортировал (пока) модуль содержащий TtsCustomSplitter, этот класс должен быть представлен как “разметка” (“placeholder”) (пунктирные линии вокруг иконок класса обозначают статус разметки). ММ занет что TtsShutter наследник TtsCustomSplitter, но ни более этого. Если я желаю иметь возможность использовать возможности ММ включающие наследование, то я должен был импортировать модуль TtsCustomSplitter.

ММ также способен импортировать комментарии из вашего модуля, прикрепляя их к
их соответствующим сущностям, но только если комментарии и/или ММ правильно установлены. Если Unit Code Editor (F7) показывает массу unassociated кодовых комментариев, не бойся – мы научимся импортировать комментарии в Части 7.
Это очень краткий пример как импортировать существующий код. Ты также можешь выполнить импорт используя одну из двух кнопок на главной инструментальной панели.
– эта кнопка импортирует твой код в новую модель.
– эта кнопка импортирует твой код в существующую модель.
В обоих случаях, кнопки дадут тебе возможность выбора по специфическому пути или по исходному(Source Path Alias см. Help).
Генерация кода
Очевидно, твоя цель- создание кода, который может быть скомпилирован в Delphi. ModelMaker использует свою внутреннюю кодовую модель и применяет различное форматирование опций, которые ты выбрал для генерирования определенного модуля.
В своей конфигурации по умолчанию, ММ не будет генерировать исходный код, пока ты не скажешь ему это сделать. Для того чтобы это сделать прямо сейчас, переключись на Units View нажатием F4 или выбирая ярлык Модулей. Предположим, ты
ты имеешь один или много модулей содержащих классы(используй свои новые умения и импортируй какие-нибудь модули), сначала удостоверься что генерация кода включена нажатием кнопки включения авто-генерации на главной инструментальной панели(см. боковую панель), затем выбери модуль для генерации и нажми кнопку генерации(ищи на панели Units View- см. боковую панель)

Ты должен обнаружить, что определенный модуль регенерирован ММ-ом. Если модуль был открыт в Delphi, ты увидишь, что Delphi уже загрузил новую версию файла.
Тем не менее, если ты хочешь, ММ может быть установленным так, чтобы автоматически регенерировать модуль, во все время пока ты меняешь его. Это называется авто-генерацией. Ты можешь включать или отключать авто-генерацию для всякого модуля в твоей модели, нажимая кнопки или Включения или Отключения авто-генерации на панели Units View(см. боковую панель). Теперь, в любое время, когда ты меняешь авто-генерируемый модуль, ММ будет регенерировать файл. По этой причине, будь внимателен, когда включена авто-генерация.
Есть несколько других опций и характеристик интеграции с Delphi, которые могут быть эффективными, в зависимости от генерируемого кода; мы рассмотрим эти возможности в Части 6.

Продолжение следует...

by Robert Leahey of Thoughtsmithy

Перевод сделал Kigorw (Кононученко Игорь) kigorw@mail.ru



Опубликовал admin
6 Окт, Среда 2004г.



Программирование для чайников.