Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.01.29;
Скачать: CL | DM;

Вниз

TStrings - странный клас какой-то   Найти похожие ветки 

 
default ©   (2004-01-05 17:20) [40]

"Пример как раз правильный и наверно лучший"
лучший был бы если бы справа от присвоения стоял наследник TStrings(в явном виде)


 
Vuk ©   (2004-01-05 17:21) [41]

to default:
>если бы Items-ы обоих классов имели тип TStringList например так
>тоже можно было бы сделать...
Можно было бы если бы... Но ни TMemoStrings ни TListBoxStrings не являются наследниками TStringList.


 
default ©   (2004-01-05 17:24) [42]

Vuk © (05.01.04 17:21) [41]
вы не поняли с АП)фиг с ним...


 
Vuk ©   (2004-01-05 17:38) [43]

to default:
>лучший был бы если бы справа от присвоения стоял наследник
>TStrings(в явном виде)
А его там что, нет? :o) В примере как раз и есть два наследника TStrings с принципиально разным методом доступа к строкам...


 
default ©   (2004-01-05 17:52) [44]

Vuk © (05.01.04 17:38) [43]
я имел ввиду чтоб было типа
xxx.ItemstTStringsProperty := ItemsTPotomokTStrings
возможно, а
xxx.ItemstTStringListProperty := ItemsTPotomokTStrings
нет
а то что "внутри" они разные это понятно...
а пример
xxx.ItemstTStringsProperty := ItemsTStrings
совершенно не показателен
он скажет на такой пример ну и что?
если бы весто TStrings было TStringList, то так тоже можно было бы сделать...


 
Teren   (2004-01-06 22:41) [45]

Для того, чтобы можно было написать, например, так:
ListBox.Items := Memo.Lines


Теперь понятно! Хотя на самом деле Memo.Lines - это TMemoStrings

Наконец - то я кажется начал понимать нафига этот полиморфизм нужен :)


 
Teren   (2004-01-06 22:57) [46]

Хотя у меня опять вопросы...

TMemoStrings имеет свойство Memo (TCustomMemo). Собственно говоря, в Memo и хранятся все данные TMemoStrings

Но TMemoStrings не имеет конструктора. Значит, он наследует конструктор от TStrings, тот наследует от TPersistent, а тот от TObject!
Тогда вопрос - а где создается экземпляр класса Memo, объявленный в TMemoStrings?


 
Teren   (2004-01-06 23:08) [47]

P.S. Такой еще маленький вопросик - в TMemo в published есть строка "property ReadOnly;"
Почему ReadOnly выделен жирным шрифтом, и если нажать CTRL то не являетс ссылкой?
А остальные ссылкой показываются, но по ссылке не переходит

P.S. Ну и уж совсем такой вопросик. В модуле stdctrls есть строка "uses Messages, {$IFDEF LINUX} WinUtils, {$ENDIF}"
Так вот все модули я могу посмотреть, а WinUtils нет. Также не переходит по ссылке.


 
Vuk ©   (2004-01-06 23:30) [48]

>Тогда вопрос - а где создается экземпляр класса Memo,
>объявленный в TMemoStrings?
Все происходит с точностью до наоборот. TMemo создает TMemoStrings и присваивает полю в созданном экземпляре ссылку на себя.


 
Teren   (2004-01-07 00:13) [49]

Vuk, блин! А я то запутался немного...

а как насчет Teren (06.01.04 23:08) [47]. Никто не подскажет?


 
Fantasist ©   (2004-01-07 01:26) [50]


> Какие-то классы нельзя создать - можно только создать их потомков... что это за классы тогда?! Я думал абстрактные


Так оно и есть. Только в языке Делфи понятие абстрактного класса отсутсвует. В тех языках где оно присутсвует, например в Java, где они объявляются в явном виде и в С++, где они становятся таковыми имея хотя бы один абстрактный метод, их создавать нельзя. Хотя возможно есть языки где есть возможность инстанцировать и абстрактные классы.



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

Текущий архив: 2004.01.29;
Скачать: CL | DM;

Наверх




Память: 0.55 MB
Время: 0.082 c
1-93432
tytus
2004-01-16 15:42
2004.01.29
Как зашифровать строку?


3-93368
hfa
2004-01-02 13:01
2004.01.29
Oracle Servers


9-93317
inc-viz
2003-07-13 14:15
2004.01.29
Delphix - вывод спрайтов


1-93442
Марат
2004-01-16 13:20
2004.01.29
CheckListBox


1-93449
den74
2004-01-19 11:05
2004.01.29
Печать DBChart