Пардон, случайно ваше сообщение потер.
MDesCArray не умеет делать Delete/Insert - этот интерфейс служит только для доступа к данным.
Delete/Insert определены в имплементациях этого интерфейса, какой класс используете ?
Пардон, случайно ваше сообщение потер.
MDesCArray не умеет делать Delete/Insert - этот интерфейс служит только для доступа к данным.
Delete/Insert определены в имплементациях этого интерфейса, какой класс используете ?
Last edited by Den123; 2009-09-09 at 22:09.
да CDesCArray у которого определены At, Insert, Delete
надо изменить строки в List.
*минуту пытался понять почему под моим ником чужой текст, а мой ответ под именем SiNoptik.
CDesCArray, C означает const.
Массив хранит немодифицируемые дескрипторы - нельзя их менять. Сам массив модифицировать можно.
Это массивы с элементами произвольной длины. В Symbian не используются сборщики мусора, поэтому замена элемента в любом случае сведется к Delete/Insert. Вопрос в том, насколько эффективно это реализовано. Можете для удобства написать свой inline метод для этого класса, который их вызывает.
Чтобы сделать операцию замены максимально эффективной, нужно использовать CDesCArraySeg вместо CDesCArrayFlat, но CDesCArraySeg медленнее ищет элемента по индексу (оператор []).