Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.03.09;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.009 c
1-25771
Yad
2004-02-26 13:02
2004.03.09
Динамическое создание контролов


8-25829
Evgeniy_K
2003-11-06 19:16
2004.03.09
Отображение точки x, y, z


3-25705
Belkova
2004-02-10 16:58
2004.03.09
Уважаемые мастера Delphi! Подскажите, как организовать цикл по вы


14-25942
Empleado
2004-02-17 12:46
2004.03.09
SQL Query


3-25686
Марат
2004-02-11 08:24
2004.03.09
Очистка DBGrid





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский