![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Переменное количество экземпляров класса [D7, WinXP]
DeScriptor © (2004-07-04 06:40:00)Необходимо создать переменное количество экземпляров класса. Точнее, во время выполнения программы их число постоянно, т.к. оно задается в начале, но сколько именно потомков класса будет - изначально неизветсно.
Я пробовал создать массив экземпляров:
varArrayOfClassInstances: array[1] ofTMyClass;
...
begin
...
ArrayOfClassInstances[1].Create();
end;
При этом, при попытке присвоить какое-либо значение созданному объекту, или при попытке выполнить какой-либо его метод, возникает ошибка нарушения доступа.
Второй вариант, который мне приходил в голову - попробовать создавать переменные с числовым индексом (MyVal01, MyVal02 и т.д.), но как реализовать такую систему - не знаю. Вообще, можно ли создавать во время выполнения переменную, название которой не является константой? По-моему, нет.
Подскажите, плз, как мне разрешить дануую ситуацию?
DeScriptor (2004-07-04 07:32:00) [1]Огромное спасибо!!! Я действительно просто невероятно ступил: забыл, что вначале надо устроить операцию присваивания!
Григорьев Антон (2004-07-04 07:02:00) [2]Во-первых, надо применять динамические массивы. Во-вторых, читайте справку внимательнее: вы неправильно создаёте компонент. Правильно его создавать так:
ArrayOfClassInstances[1]:=TMyClass.Create();
И почитайте вот это: http://www.delphikingdom.com/asp/viewitem.asp?catalogid=342
TUser (2004-07-04 07:01:00) [3]Надо посмотреть в справке про
1. Как вызывать конструкторы и что это такое.
2. как работать с дин. массивами.