Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проблема с array of pstrlist [Delphi, Windows]


АртемКо ©   (2007-10-28 16:11:00) 

Пишу консольные приложения с использованием KOL, всё нравилось.
Пока не пришлось делать массив списков строк.
Завел переменную _output:array of pstrlist;
В какой-то момент, задал ее длину setlength(_output,N);
Далее в цикле хочу инициализировать список и добавить в него строку
for i:=0 to N-1 do
begin
_output[i]:=New(PStrList);
_output[i].Add(s);
end;
Не добавляет оно строку s, а тупо вылетает с Run Time Error
в asm-процедуре TList.Insert на строке PUSH [EAX].fCount
Если заменить добавление на очистку списка, тоже ошибка, но уже в asm-процедуре TStrList.Delete на строке MOV ECX, [EAX].TList.fItems

Пробовал заменить динамический массив на массив фиксированной длины - вылет наблюдается в другом месте. Но все же наблюдается.

Может быть я что-то конкретно недопонимаю? С простым списком все работает "на ура"..


АртемКо   (2007-11-11 19:54:00) [1]

Просто меня заглючило. :)
KOL использую недавно. Сначала делал как надо - NewStrList. А тут запутался.


Danger   (2007-10-28 18:34:00) [2]


> АртемКо   (28.10.07 17:02) [3]
> Ок, спасибо, попробую.

Специально ведь Кладов в уроках и мануале выделяет: используйте специальные функции-конструкторы для всех объектов. Не пользуйтесь New() напрямую ...


АртемКо   (2007-10-28 17:02:00) [3]

Ок, спасибо, попробую.


Dimaxx   (2007-10-28 16:59:00) [4]

for i:=0 to N-1 do
begin
_output[i]:=NewStrList;
_output[i].Add(s);
end;


Вячеслав   (2007-10-28 16:21:00) [5]

Может я и не прав, но...
Есть функция NewStrList, а в ней New( Result, Create);


Наверх

Титульная страница Поиск, карта сайта Написать письмо