IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

> Создание обьектов, В чем ошибка
CMOS
сообщение 7.07.2005 21:04
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 57
Пол: Мужской

Репутация: -  0  +


Как создать массив обьектов?

Например:

var a: Array[1..36] of TImage;

Мне нужно чтобы каждый обьект появлялся в свое время и в нужном месте
Пробовал:

a[n].Create(...)

А что в скобках писать?
Если:

a[1]:=TButton.CreateParented(Form1.Handle)

Не получается.
Объект не появляется даже если задать все размеры, координаты, указать картинку.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Romtek
сообщение 7.07.2005 22:06
Сообщение #2


Знаток
****

Группа: Пользователи
Сообщений: 303
Пол: Мужской
Реальное имя: Роман

Репутация: -  2  +


Complementary Metal-Oxyde Semiconductor, простите, CMOS,
во первых, принято использовать не массив, а TList - массив указателей.

const
count = 36;
var
List : TList;
Image: TImage;
i: integer;

begin
List := TList.Create(); // создать список

// создать список картинок
for i := 0 to Pred (count) do
begin
Image := TImage.Create;
List.Add (Image);
end;

//
{использовать этот список}
//

// освободить память для картинок
for i := 0 to Pred (count) do
begin
Image := List.Items[i];
Image.Free ();
end;

List.Free (); // освободить память списка
end.

Во-вторых, не делай всё сразу, а поэтапно.


--------------------
Romiras HomeLab- материалы и статьи по разработке ПО, моделирование алгоритмов, обработка и анализ информации, нейронные сети, машинное зрение и прочее.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
CMOS
сообщение 8.07.2005 21:13
Сообщение #3


Пионер
**

Группа: Пользователи
Сообщений: 57
Пол: Мужской

Репутация: -  0  +


В строчке

Image := TImage.Create;

Ошибка "Non enough actual parametrs", просит параметр типа TComponent.
Мне картинки нужно перебирать по индексу:

for n:= 1 to 36 do
i[n].Picture.BitMap.LoadFromResourceID (0, 13*Get2High(a[n])+GetLow(a[n])-1);

А в Вашем случае как? Так что-ли:

List.Items[i].Picture...

Сообщение отредактировано: CMOS - 9.07.2005 21:35
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 9.07.2005 0:28
Сообщение #4


Гость






Цитата(CMOS @ 8.07.05 21:13)
В строчке
Image := TImage.Create;
Ошибка "Non enough actual parametrs", просит параметр типа TComponent.

Ну, так дай ему этот параметр... Создание списка картинок происходит при создании формы?
Image := TImage.Create(Self);


Цитата(CMOS @ 8.07.05 21:13)
Мне картинки нужно перебирать по индексу:

For i := 0 to 35 do // На индексы обрати внимание ...
List.Items[i].Picture.BitMap.LoadFromResourceID...
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 22.06.2025 14:50
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"