![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
проблема с TStrings
dens © (2002-10-23 16:32:00)например, есть strings: TStrings
и есть Memo1 у которого свойство .Lines тоже типа TStrings
вопрос - почему Memo1.Lines.Text:="some text"; не вызывает ошибку, а strings.Text:="some text"; вызывает ошибку Abstract error ????
DieHard (2002-10-23 16:58:00) [1]2Демонов Е.В.
не совсем корректный пример
TObject не является абстрактным классом
Демонов Е.В. (2002-10-23 16:53:00) [2]>>dens
>>мне нужен TStrings
TStrings - это обстактный тип.
Слушай MBo © (23.10.02 16:37)
У того же Memo1 у которого свойство если пожаришся в коде то обнаружишь что свойство Lines конечно же TStrings и поле ему соответствующее FLines (наверное) тоже TStrings.
но вот в Create Эделано FLines:=TsomeStrings.Create
где TsomeStrings это потомок абстактного типа TStrings.
кстати может ты не заметил но практически во все обработчики компанент передаётся Sender: TObject, хотя TObject это и не компонент вовсе.
AM (2002-10-23 16:51:00) [3]Сорри... я был не прав! AM (23.10.02 16:47)
Anatoly Podgoretsky (2002-10-23 16:48:00) [4]dens (23.10.02 16:40)
Тебе не нужен TStrings, тебе нужен наследник от TStrings, который умеет хранить строки, а TStrings это просто базовый класс, в котором объявлены абстрактные методы
AM (2002-10-23 16:47:00) [5]Странно...
Var
S: TStrings;
Begin
S:= TStrings.Create;
S.Text:= "Some Text";
...
...
S.Free;
End;
и никаких ошибок не вылазит, видимо у тебя что- то другое...
а ошибка вылазит именно при присваивании?
murzilN (2002-10-23 16:47:00) [6]Читай HELP. Там есть пример создания для TStrings - TStringList.Create
MBo (2002-10-23 16:46:00) [7]>dens
Попробуй так, как я написал
DieHard (2002-10-23 16:46:00) [8]2dens
слушайся MBo, получишь искомое
dens (2002-10-23 16:40:00) [9]MBo мне нужен TStrings
AM именно так!
MBo (2002-10-23 16:37:00) [10]создавай объект так
strings:=TString List.Create;
а лучше и объяви как TStringList
AM (2002-10-23 16:37:00) [11]Ты делаешь так?
Var
strings: TStrings;
Begin
strings:= TStrings.Create;
strings.Text:="some text";
cult (2002-10-23 16:34:00) [12]Попробуй GetText/SetText