|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
19.01.2010, 18:50 | #1 |
Пользователь
Регистрация: 11.01.2010
Сообщений: 21
|
Массив объектов
Есть массив объектов некоторого класса. в этом массиве , допустим третий элемент перестал быть нужен. как от него избавиться?
(поимённая передача всех параметров последнего в списке объекта третьему возможным не представляется - слишком много всего) Как бы это сделал профи? |
19.01.2010, 18:56 | #2 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Delete работает и с массивами.
Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
19.01.2010, 19:08 | #3 |
Пользователь
Регистрация: 11.01.2010
Сообщений: 21
|
Ладна, ребят, прошу прощения. Скажу иначе
OB1:= TOb.Create; OB2:= OB1; OB1:=nil как обойти механизм уничтожения объекта? Последний раз редактировалось _bAd_; 19.01.2010 в 20:11. |
19.01.2010, 20:18 | #4 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Delete,Copy,Insert все три работают и с массивами(о чем гласит и подсказка о параметрах)
на крайняк можно и через CopyMemory сделать а с TList работать как и обычно...создаем динамически структуру...и записываем в TList указатель на нее. а обратно читаем указатель и работаем с ним(не забываем приводить типы) я часто юзаю TList чтоб хранить структуры...(точнее я храню обьекты классов), но я делаю класс, который содержит в себе TList. вот пример из моего кода: Код:
Цитата:
у вас обьект 1 не уничтожается, а он передается обьекту 2. тут лучше всего вспомнить что обьект в Делфи это указатель на его данные.тогда становится все понятно Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. Последний раз редактировалось Пепел Феникса; 19.01.2010 в 20:21. |
|
19.01.2010, 21:08 | #5 |
Заблокирован
Регистрация: 14.01.2010
Сообщений: 92
|
> Как бы это сделал профи?
Профи при прочих равных условиях не стал бы страдать ерундой с массивом. Профи знает о существовании стандартного списочно-ориентированного класса TObjectList, избавляющего от необходимости явного разрушения объекта, фигурирующего в составе элементов этого списка. |
19.01.2010, 21:57 | #6 |
Пользователь
Регистрация: 11.01.2010
Сообщений: 21
|
Злые вы.
Но спасибки. Ответ не получил, но можно хоть дальше двигаться. С ТЛистом. (не люблю работать с тем , чьи кишки не знаю как работают. В частности иногда было бы неплохо создать объект, описанный локально. И глобально помнить только указатель на него. И чтоб этот указатель продолжал указывать куда надо после выхода из процедуры) Последний раз редактировалось _bAd_; 19.01.2010 в 22:00. |
19.01.2010, 22:01 | #7 |
Заблокирован
Регистрация: 14.01.2010
Сообщений: 92
|
> Ответ не получил
Как это не получил ? Ты не веришь в существование волшебного TObjectList, который пользуют профи, которыми ты так интересовался ?) Tак жми же скорей F1 ! И да будет блажен уверовавший)) |
19.01.2010, 22:30 | #8 |
Пользователь
Регистрация: 11.01.2010
Сообщений: 21
|
О в это трудно не поверить. Но еще трудней смириться.
|
19.01.2010, 22:43 | #9 |
Заблокирован
Регистрация: 14.01.2010
Сообщений: 92
|
> еще трудней смириться
С чем ?) С тем что , в отличие от TList, при использовании его специально "заточенного" наследника TObjectList отпадает необходимость явного разрушения объектов-элементов списка ?) |
19.01.2010, 23:22 | #10 |
Пользователь
Регистрация: 11.01.2010
Сообщений: 21
|
ну раз такой флейм пошел: с тем, что я не знаю как оно работает.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вставка объектов | KinderX | Microsoft Office Excel | 5 | 22.09.2009 05:13 |
массив объектов | balamut | JavaScript, Ajax | 4 | 29.05.2009 14:49 |
Присваивание объектов | Stalevar | Общие вопросы Delphi | 0 | 17.02.2009 19:06 |
массив объектов с конструктором копии | pu4koff | Общие вопросы C/C++ | 6 | 18.06.2008 17:33 |
Конструктор объектов | Yoger | Общие вопросы Delphi | 10 | 20.04.2007 12:45 |