Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Массивы объектов... [WinXP]


Lex_! ©   (2007-10-04 05:56:00) 

Кто нибудь пробовал делать массивы объектов?...
Допустим
array [..] of TButton;
или что то такое?... я как то пытался так не получилось.. ошибки периодически валятся..
эть у меня руки кривые или это вообще так не делается?:)


Думкин   (2007-10-09 11:37:00) [1]

> Lex_! ©   (09.10.07 07:26) [13]

Чем удобнее? Удалять, вставлять, следить за жизнью?


Lex_!   (2007-10-09 07:26:00) [2]

Да да.
Массив объектов различных, от кнопки до ДБЕдитов и прочее..
Хранить помоему удобнее в массиве..


Amoeba   (2007-10-04 19:27:00) [3]

Автор вопроса, ay, отзовись!


Kolan   (2007-10-04 19:22:00) [4]

> Create(nil) к Parent.Controls не имеет ни малейшего отношения.

Я для этого специально написал begin и end, чтобы показать, что это все…


Sairex   (2007-10-04 15:58:00) [5]

Попробуй создать обьекты с разным Tag-ом а в массиве хранить то что тебе нужно...
ЗЫ кароче офтопп


Однокамушкин   (2007-10-04 11:38:00) [6]


>
> Юрий Зотов ©   (04.10.07 09:55) [7]
> 2. Попробуйте сделать кнопку видимой, не запихнув ее при
> этом в Parent.Controls.


procedure TForm1.Button1Click(Sender: TObject);
var
 B2: TButton;
begin
 ShowMessage(IntToStr(ControlCount));
 B2 := TButton.CreateParented(Handle);
 B2.Width := 100;
 B2.Height := 20;
 B2.Top := 10;
 B2.Left := 10;
 B2.Hide; // Без этой штуки Show не срабатывает - похоже на баг VCL
 B2.Show;
 ShowMessage(IntToStr(ControlCount));
end;


;))

Пользы, правда, от такой кнопки не будет, пока мы не начнём вручную обрабатывать WM_COMMAND, но задача была только сделать её видимой :))


Юрий Зотов   (2007-10-04 10:02:00) [7]

> Lex_! ©   (04.10.07 05:56)

Cписком объектов может быть TStringList, TList, TObjectList, TComponentList, TCollection и т.п. А может быть и массив, без проблем. Что конкретно выбрать - зависит от задачи.

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


Юрий Зотов   (2007-10-04 09:55:00) [8]

> Kolan ©   (04.10.07 09:45) [6]

1. Create(nil) к Parent.Controls не имеет ни малейшего отношения.

2. Попробуйте сделать кнопку видимой, не запихнув ее при этом в Parent.Controls.


Kolan   (2007-10-04 09:45:00) [9]

> А зачем совать контролы в TObjectList если они уже
> засунуты в Parent.

Кто это сказал?


begin
 Btn := TButton.Create(nil);
end;


Leonid Troyanovsky   (2007-10-04 09:27:00) [10]


> Kolan ©   (04.10.07 09:18) [3]

> Зачем сувать объекты в список предназначеный для хронения
> строк?

А зачем совать контролы в TObjectList если они уже
засунуты в Parent.Controls который, в отличии от других,
следит за здоровьем подопечных.

--
Regards, LVT.


Ega23   (2007-10-04 09:24:00) [11]


> Kolan ©   (04.10.07 09:18) [3]


+1


Kolan   (2007-10-04 09:18:00) [12]


> Проще в TStringList их записывать.

Зачем сувать объекты в список предназначеный для хронения строк?

Автор: Используй TObjectList


stanislav   (2007-10-04 09:00:00) [13]

Lex_! ©   (04.10.07 05:56)
Проще в TStringList их записывать.


Джо   (2007-10-04 06:42:00) [14]

> [0] Lex_! ©   (04.10.07 05:56)
> Кто нибудь пробовал делать массивы объектов?...

Угу.


> эть у меня руки кривые

Угу.


Наверх

Титульная страница Поиск, карта сайта Написать письмо