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

Вниз

Добавление объектов в 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.008 c
4-87744
Mantic0re
2003-01-13 17:11
2003.02.27
Вопросы...


1-87544
smok_er
2003-02-15 15:47
2003.02.27
Работа c TFileStream


14-87671
negtym
2003-02-10 06:20
2003.02.27
DelphiX


7-87728
Le!
2002-12-28 08:20
2003.02.27
Иконка в трее!


7-87735
Hyper[SN]
2002-12-16 23:30
2003.02.27
Инфракрасный приемник





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский