Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.03.09;
Скачать: CL | DM;

Вниз

создание копии объекта   Найти похожие ветки 

 
Lena19   (2004-02-26 11:02) [0]

Всем привет
у меня обект создает свою идеальную копию
тот в свою очереть создает свою и так далее
но почемуто не удается создать больше чем 64302 объектов
(выдается сообщение стек преполнен)
ето какоето ограничение или ........
ПРИМЕР :
procedure Tai.activate();
var aa: tai;n:integer;
begin
inc(nhod); //номер хода
aa:=tai.create(nil);
aa.nhod:=nhod;
aa.fsendinfo:=form1.sendinfo;
if assigned(fsendinfo) then onsendinfo(self,nhod);
aa.activate;
// self.Free;
end;


 
Kerk ©   (2004-02-26 11:05) [1]

Ограничение есть - размер стека ограничен.
У тебя как я понял получается бесконечная рекурсия.
Создавай лучше копии объектов снаружи... в цикле...


 
Гаврила   (2004-02-26 11:05) [2]

Действительно переполнен стек, он не безграничен.
У вас рекурсивный вызов, попробуйте заменить на циклический


 
TUser ©   (2004-02-26 11:06) [3]

Правильно пишет. Ты же вызвал activate, но данная процедура у тебя не завершена. Она завершится только тогда, когда будет завершена та, которую ты вызываешь. И т.д. Инфа об них обо всех лежит в стеке, который конечен.


 
Lena19   (2004-02-26 11:52) [4]

ето значит что создавать копии САМОГО СЕБЯ (внутри объекта) вообще не получится или это надо както по другому делать ?
П.С. а если создавать их снаружи то теряется смысл затеи


 
Тимохов ©   (2004-02-26 11:57) [5]


> вообще не получится

Так говорят, когда в принципе нельзя сделать.

Вообще получится. Просто у вас весьма специфическая задача и надо искать пути решения данной конкретной проблемы.
Не делайте это рекурсией.


 
Lena19   (2004-02-26 12:02) [6]

а рекурсия ли ето?
веть activate вызывается уже на новый объект


 
Тимохов ©   (2004-02-26 12:03) [7]

рекурсия.



Страницы: 1 вся ветка

Текущий архив: 2004.03.09;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.017 c
7-25957
Japan
2003-12-13 16:03
2004.03.09
При сохранении файла притормаживает


6-25848
Eugene
2003-11-21 13:04
2004.03.09
FastNet Delphi7


1-25785
Ivolg
2004-02-25 11:15
2004.03.09
Буфер


1-25818
КомофОнСамый
2004-02-25 19:16
2004.03.09
Format - как задать число с лидирующими нулями


14-25914
Думкин
2004-02-15 07:11
2004.03.09
С днем рождения! 15 февраля.