> Создаю класс, который работает с данными. В частном случае без
[...]
> Дальше распологаю на форме различные компоненты, например ListBox. И
> начинаю обрабатывать все возможные режимы: создание экземпляра класса,
> при загрузке формы отображение определенных полей класса в ListBox,
> при изменении данных заново переделывать содержимое ListBox, и еще
[...]
> ЗЫ: Еще вижу вариант создание компонента MyListBox, потомок ListBox,
> со встроенным классом. Но тут пока на уровне идеи!
Привет
Обычно в таком случае поступают именно так - то есть делают отдельный
дельфийский
компонент (но это, конечно, если подобное сочетание твой_класс + ListBox -
типовое, будет где-то
еще у тебя встречаться). Примеров компонентов с исходниками полно, например,
на том же torry.ru.
P.S.
> А нелзя-ли все это [...]
> нечто вроде: MyObject:=TMyClass.Create(self, ListBox1);
> Вот пока и пробую, но неуспешно.
Можно и так (можно как угодно, насколько позволяет язык :) ).
Тогда внутри твоего класса, очевидно, должны быть прописаны
обработчики событий TListBox'а (скажем, твой класс что-то делает
при событии выбора элемента в ListBox) и присвоены при инициализации
твоего объекта свойствам ListBox1'а (ListBox1.OnXXX := MyMethodInMyClass;)
(только, соответственно, используемых тобой в классе обработчиков
событий ListBox1 определять в форме тогда не имеет смысла)
Сам твой класс создается, например, в обработчике события OnCreate формы
(и при создании настраивает ListBox1), уничтожается в OnDestroy формы.
Может быть еще нужно подумать, как провести границы между
объектами взаимодействия с контролами [как разбить всю задачу на
объекты] (если несколько объектов, несколько контролов, пересекающиеся
взаимодействия), отталкиваясь от возможностей языка, а с другой стороны
от типовых решений (начиная от стандартных дельфийских, например,
TDBListBox - который ведь компонент, сделанный на базе ListBox'а, TBDEdit и
т.д.;
как разработчики проектировали взаимодействия, напр., с невизуальным
контролом
TQuery и т.п.) + еще зависит от того, насколько твои разработки типовые и
будут
где-то еще использоваться (а то если нет - можно просто форму делать, и в
ней,
кроме событий, несколько методов, которые грузят что нужно из твоих объектов
и т.п.)
Вот такие пока мысли...
Исходное сообщение От: "Шистеров Павел" <schis-pm@j*****.ru>
Кому: "comp.soft.prog.prog" <philoso***@s*****.net>; <207775>
Отправлено: 25 марта 2004 г. 7:11
Тема: Создаю класс и...
> Здравствуйте Все,
>
> Проблема! /Delphi6/
> Создаю класс, который работает с данными. В частном случае без
> использования БД. Работать-то он работает, а вот весь гиморой именно
> с отображением данных. Т.е. Создаю форму, подключаю модуль с классом.
> Дальше распологаю на форме различные компоненты, например ListBox. И
> начинаю обрабатывать все возможные режимы: создание экземпляра класса,
> при загрузке формы отображение определенных полей класса в ListBox,
> при изменении данных заново переделывать содержимое ListBox, и еще
> море рутинных действий.
>
> Т.к. я не очень люблю рутину, то возник вопрос. А нелзя-ли все это
> сделать в классе и привязать класс к тому-же ListBox-у на этапе
> создания экземпляра класса? Т.е. в гавной форме при создании класса,
> нечто вроде: MyObject:=TMyClass.Create(self, ListBox1);
>
> Вот пока и пробую, но неуспешно.
>
> Просьба такая:
> 1. Хочу понять, реально такое сделать и много-ли гемороя?
> 2. Можно ли сделать как-то по другому с меньшими затратами и более
> удобно?
> 3. Подскажите свои идеи, если не жалко!
>
> ЗЫ: Еще вижу вариант создание компонента MyListBox, потомок ListBox,
> со встроенным классом. Но тут пока на уровне идеи!
>
>
> --
> С уважением, Шистеров Павел
> ICQ # 307634884
> mailto:schis-pm@j*****.ru
> > Номер выпуска : 2692
> Возраст листа : 185 (дней)
> Количество подписчиков : 377
> > Адрес в архиве :
http://subscribe.ru/archive/comp.soft.prog.prog/msg/111459
> > Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
> Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
> Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
> Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru
>
>
>
Номер выпуска : 2695
Возраст листа : 185 (дней)
Количество подписчиков : 377
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/111856
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru
-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru
http://subscribe.ru/ mailto:ask@subscribe.ru