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

Вниз

Добавление объектов в TStringList   Найти похожие ветки 

 
orion_st ©   (2003-02-17 11:51) [0]

Help!!!
В цикле добавляю объекты через
events.AddObject(IntToStr(event.id),TObject(event));

При этом добавлении у меня не только добавляется новый объект, но и почему-то перезаписываются ранее добавленные объекты новым.

Т.е. добавляю первый объект в итоге получаю
TEvent(events.Objects[0]).id=1

Добавляю второй объект, получаю:
TEvent(events.Objects[0]).id=2
TEvent(events.Objects[1]).id=2

и так далее. Как от этого избавиться?


 
Digitman ©   (2003-02-17 12:08) [1]

как формируется event непосредственно перед очередным добавлением ?


 
orion_st ©   (2003-02-17 12:20) [2]

Из текстового файла считываю построчно, разбираю строку, из нее формирую значения полей event-а. Потом добавляю.

event имеет тип TEvent:
Tevent = class
id: integer;
<...>
end;


 
Anatoly Podgoretsky ©   (2003-02-17 12:25) [3]

Наверно ошибка в коде


 
Digitman ©   (2003-02-17 12:28) [4]

если перед каждым AddObject() выполняется
event := TEvent.Create,
этого быть не должно


 
orion_st ©   (2003-02-17 12:34) [5]

А зачем каждый раз креатить event? Я его один раз создаю, затем просто изменяю поля и новый вариант добавляю в events, который TStringList. Или так не корректно?


 
Reindeer Moss Eater   (2003-02-17 12:36) [6]

Гы Гы Гы :)
Некорректно канешна!


 
Reindeer Moss Eater   (2003-02-17 12:38) [7]

Ситуация как в той поговорке:
"Кто последний - тот и папа"
Единственный экзепляр объекта и многократное его модифицирование


 
Digitman ©   (2003-02-17 12:42) [8]


> Я его один раз создаю, затем просто изменяю поля и новый
> вариант добавляю в events, который TStringList


В этом случае всякий раз при при чтении св-ва Id ты будешь обращаться к одному и тому же объекту и получать, соответственно, одно и то же зн-е св-ва. Что ты и наблюдаешь)



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

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

Наверх




Память: 0.48 MB
Время: 0.011 c
3-87325
Григорий Ситнин
2003-01-31 15:17
2003.02.27
Свойство для указания произвольного TField а...


6-87612
BOBAKO
2002-12-24 20:39
2003.02.27
как получить инфу с сервера и вставить в клиент?


1-87478
mace
2003-02-18 12:43
2003.02.27
service application (debugging, running :)


1-87428
BOA_KAA
2003-02-18 13:58
2003.02.27
Resize для формы


3-87298
Bart
2003-02-10 10:18
2003.02.27
BLOB Поля!