Форум: "Основная";
Текущий архив: 2003.02.10;
Скачать: [xml.tar.bz2];
ВнизАвтоматическое создание класса. Найти похожие ветки
← →
Paladin (2003-01-30 18:32) [0]Условия:
Каждый класс представляет собой некую сущность предметной области.
Иногда возникает ситуация, когда на форме или другом контейнере должно быть несколько сущностей, и каждая сущность должна иметь свои отличные или дополнительные методы и свойства.
Выход: создать компонентов(классов) столько, сколько нужно различных типов сущностей, и накидать их экземпляров в нужный контейнер.
Если эта задача, встречается так же часто, как и задача создать TEdit, то такой подход слишком не удобен, это не гибко и хочется автоматизировать, так же как это сделано с TEdit.
Стандартный механизм:
При помещении компонента на форму происходит добавление к форме еще одного свойства.
Например помещая компонент TEdit, на форму добавляется свойство Edit1 :TEdit.
Хочется получить:
Кроме описанных событий, хочется чтобы, рядом с самой формой создавался пустой класс, например,
TEdit1 = class(TEdit) и соответственно на форму добавлялось свойство Edit1 :TEdit1.
Вопрос:
Можно ли средствами Delphi такого добиться и если можно, то как?
Пример задачи:
Имеются таблицы базы данных, рассматриваемый компонент представляет собой одну строку таблицы базы данных, т.е. сущность определенной структуры, соответствующую структуре таблицы.
Т.к. это у нас объектно-ориентированная модель, то хочется воспользоваться ее преимуществами и к каждому классу, представляющему строку, прилепить свойственные ей методы обработки.
Такое можно делать во многих серьезных системах, например Axapta.
← →
gsu (2003-01-30 18:37) [1]>> Имеются таблицы базы данных, рассматриваемый компонент представляет собой >> одну строку таблицы базы данных
1. описываешь класс, компонент и его св-ва в бд
2. создаешь объекты в своем интерпретаторе
3. работаешь
Так ?
← →
Paladin (2003-01-31 11:58) [2]Привет.
Да, со своим интерпретатором можно, но довольно сложно, т.к. по хорошему, для этого нужно среду писать.
Но я имел в виду создание класса при помощи Delphi IDE.
Можно ли переопределить процесс добавления компонента на форму,
т.е. кроме добавления свойства в форму, еще и создвавлся заголовок класса в том же модуле.
Есть же в Delphi всякие мастера форм, редакторы свойств и т.д.
Мне кажется, ничего революционного, просто если это возможно, то я не знаю как это сделать.
← →
ZeroDivide (2003-01-31 15:41) [3]Вопрос очень интересный правда я его все равно наверное не так понял. Уважаемый Paladin прочитайте про термины Object Pascal... Вместо такого количества текста можно было бы просто написать наверное:
"Можно ли управлять добавлением текста в PAS,DFM при помещении на форму нового компонента ?"
Вы это имели в виду?
Мастер форм: Пользователь отвечает на нек. вопросы и в соответствии с ответами генерятся и открываются файлы. И что тут не понятно?
Вопрос 2 если пас уже открыт. Если вы попытаетесь заменить пас на onCreate компонента, то IDE скажет что файл изменился и предложит его перегрузить. Если вас так устроит то пожалуйста...
← →
Юрий Зотов (2003-01-31 20:34) [4]> Кроме описанных событий, хочется чтобы, рядом с самой формой
> создавался пустой класс, например, TEdit1 = class(TEdit) и
> соответственно на форму добавлялось свойство Edit1 :TEdit1.
> Можно ли средствами Delphi такого добиться и если можно, то как?
Можно. Для этого нужно написать свой эксперт IDE.
См. все по теме OTAPI. Начните с исходников в папке ..\ToolsAPI и со статьи на "Королевстве Delphi".
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.02.10;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.01 c