![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 21.07.2010
Сообщений: 8
|
![]()
Всем доброго времени суток. Я делаю icq-чат на delphi и сейчас нужно создать систему комнат ("секторов"). Они хранятся в ini файле и загружаются в динамический массив TStringList'ов. Но правильно загружается только один элемент массива, и только он отображается в списке комнат (TListBox). В процедуре загрузки комнат используется TStringList для работы с секциями ini фала (их количеством, выбором секции по номеру).
При попытке обратиться к элементу 0 массива, выдается пустая строка. 1-й элемент отображается нормально. Попытка обращения ко 2-му элементу выдает ошибку чтения памяти. 1-й элемент всегда является последней комнатой, описпанной в ini файле. Вид ини файла: Код:
Код:
|
![]() |
![]() |
![]() |
#2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
После загрузки записей в Sectors они все из ИНИ загружены нормально?
Проверь.
I'm learning to live...
|
![]() |
![]() |
![]() |
#3 |
Регистрация: 21.07.2010
Сообщений: 8
|
![]()
Уже проверял - нормально загружен только предпоследний элемент. Если написать в цикле вместо LoaderDB.Count-1 написать LoaderDB.Count-2, то смещается еще на один элемент ниже. Но в ini-файле все точно в порядке.
|
![]() |
![]() |
![]() |
#4 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Sectors Это что такое?
I'm learning to live...
|
![]() |
![]() |
![]() |
#5 |
Регистрация: 21.07.2010
Сообщений: 8
|
![]()
Sectors - динамический массив TStringList. В каждый элемент будет добавляться пользователь при входе в комнату и при выходе удаляться из него. Также в нем храняться записи типа 'Name=XXX', 'Pass=XXX' для чтения этих значений.
Последний раз редактировалось INSectoID; 17.10.2010 в 16:37. |
![]() |
![]() |
![]() |
#6 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
SetLength(Sectors,Length(Sectors)+1 );
Ато ты как бы первый элемент вообще не трогаешь...
I'm learning to live...
|
![]() |
![]() |
![]() |
#7 |
Регистрация: 21.07.2010
Сообщений: 8
|
![]()
Я первый раз с динамическими массивами работаю, когда пробовал это раньше, то при обращении к 1-му элементу бчасто была ошибка чтения памяти (хотя, это конечно же я что-то неправильно делал). Но они все равно загружаются в массив, в этом проблемы быть не должно - я же не обращаюсь к 1-му элементу.
------- Всё, понял, почему была проблема из-за этого. Огромное спасибо вам, тему можно закрывать. |
![]() |
![]() |
![]() |
#8 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Low(Sectors) при динмассиве вертает 0, а там у тя ерунда, прога вообще вылететь должна была...
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#9 |
Регистрация: 21.07.2010
Сообщений: 8
|
![]()
Ясно. Спасибо большое еще раз. Можно закрыть тему.
|
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Динамический массив | supra89kren | Общие вопросы C/C++ | 4 | 25.03.2010 20:23 |
Динамический массив! | Mikhail91 | Общие вопросы C/C++ | 9 | 14.02.2010 14:45 |
Динамический массив | Vito89 | Помощь студентам | 1 | 20.10.2009 01:55 |
Динамический массив. | Mickle | Помощь студентам | 9 | 21.06.2007 20:31 |