![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Массивы объектов... [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)
> Кто нибудь пробовал делать массивы объектов?...
Угу.
> эть у меня руки кривые
Угу.