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

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.53 MB
Время: 0.008 c
3-93389
belyh
2003-12-30 00:54
2004.01.29
СИМВОЛ в SQL


1-93418
новичок_из_сыктывкара
2004-01-16 19:19
2004.01.29
Как сделать так, что бы из файла перебирались строки?


7-93725
Shaman%20O%20Mega
2003-11-13 14:48
2004.01.29
Загрузка процессора


6-93612
DAnton
2003-11-24 10:34
2004.01.29
<b>Помогите кто чем может с <u>аттачем</u>.</b>


3-93397
kiko
2003-12-30 08:58
2004.01.29
Вопрос о системных таблицах IB





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