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

Вниз

Ошибка TStrListEx.DeleteLast ??   Найти похожие ветки 

 
VPBar   (2007-05-26 16:26) [0]

Вопрос вот в чем (для версии 2.58, может в новой это исправлено):
TStrListEx наследуется от TStrList в котором определен метод DeleteLast.
если у нас есть
 SL:TStrListEx
.......
// И мы вызываем
SL.DeleteLast;
.......
То ожидается что удалится последние строка и объект, но на самом деле удаляется только последняя строка.
Это конечно соответствует описанию  KOL, но там же написано "Объект TStrListEx отличается от своего предка TStrList (один из редких случаев в KOL, когда объектный тип наследуется не напрямую от TObj) тем, что имеет свойство Objects, сопоставляющее каждой строке 32-разрядное число, или указатель (фактически, TStrListEx строится как объединение TStrList и TList, и операции над их элементами производятся синхронно)."
А при использовании метода DeleteLast эта синхронность нарушается.
Можно ли такое поведение считать ошибочным?
Вероятно надо перекрыть DeleteLast в TStrListEx?
Например так
procedure TStrListEx.DeleteLast;
begin
 inherited;
 FObjects.Delete( FObjects.fCount-1 );
end;
А лучше (уж если используется наследование) сделать DeleteLast виртуальным, чтобы небыло проблем при присваивании к предку.
SL:TStrList
SL:=NewStrListEx
SL.DeleteLast


 
VPBar   (2007-05-26 16:32) [1]

В 2.62 - эта ошибка тоже присутствует.
Версию 2.63   здесь  http://www.kolnmck.ru/start.shtml не нашел


 
VPBar   (2007-05-26 16:32) [2]

В 2.62 - эта ошибка тоже присутствует.
Версию 2.63   здесь  http://www.kolnmck.ru/start.shtml не нашел



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

Форум: "KOL";
Текущий архив: 2007.12.09;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.44 MB
Время: 0.035 c
3-1186562935
zmalqop
2007-08-08 12:48
2007.12.09
Связь 2-х таблиц по нескольким полям.


1-1190278304
tytus
2007-09-20 12:51
2007.12.09
Рамка вокруг региона????


2-1195112764
Первокласник Вася
2007-11-15 10:46
2007.12.09
Random & CheckBox


2-1194334476
Dmitriy O...
2007-11-06 10:34
2007.12.09
Как загрузить список всех текстовых файлов в комбобокс из какой


15-1194596998
turbouser
2007-11-09 11:29
2007.12.09
Штрихкод





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