Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

массив из классов TStrings [D6, WinXP]


CW014 ©   (2005-09-19 10:59:00) 

Добрый день.

Вот такой вопрос:
У меня есть компонент на странице - RichEdit. В нем в Lines (классе TStrings) храняться строки. Для того, что бы сделать несколько страниц делаю отдельный класс в котором используется динамический массив из TStrings для хранения. Так вот, как можно в этот массив запихнуть ЗНАЧЕНИЕ TStrings? А то как я понимаю метод RichEdit.Lines дает указатель на этот объект, поэтому если просто использовать Pages[Page]:=RichEdit.Lines, при удалении строк в RichEdit'е удаляются и строки в Pages[Page]...


Anatoly Podgoretsky   (2005-09-19 13:15:00) [1]

CW014   (19.09.05 12:23) [10]
Ну это у тебя ошибка в программе.


CW014   (2005-09-19 12:23:00) [2]

Чуть-чуть недоговорил: при вызове assign у TRichEdit вызывает исключение: 'Cannot assign TRichEdit to TRichEdit' :(


CW014   (2005-09-19 12:22:00) [3]

Еще вопрос:

При реализации метода Assign у меня теряются все аттрибуты (жирный, подчеркнутый и т.д.) :( Можно ли сохранить их? Или можно ли то же самое сообразить с классом TRichEdit а не с классом TStrings?


Anatoly Podgoretsky   (2005-09-19 11:58:00) [4]

Наверно пытался присвоить TStrings, а надо его наследникам, которые имеют средства для хранения строк.


CW014   (2005-09-19 11:51:00) [5]

to ALL:

Все, спасибо, работает. Благодарю за помощь. :)


CW014   (2005-09-19 11:42:00) [6]

to Fay:

Тем более, что при попытке сделать assign у меня вываливается Abstract Error


CW014   (2005-09-19 11:38:00) [7]

to Fay:

Ага, а что к чему ассайнить? К моему массиву ссылку с моего RichEdit или наоборот? И еще вопрос: нужно ли делать Pages[Page]:=TStrings.Create?


Fay   (2005-09-19 11:36:00) [8]

2 CW014   (19.09.05 11:30) [3]
Ну так и копируй "значение". С.м. [1]


CW014   (2005-09-19 11:30:00) [9]

to Fay:

Я про это и говорил. А мне нужно что бы он не указатель сохранял а значение. Для того, что бы при обнулении RichEdit.Lines в массиве Pages оставалось значение...


Fay   (2005-09-19 11:06:00) [10]


> при удалении строк в RichEdit'е удаляются и строки в
> Pages[Page]...

Фишка в том, что это один и тот же объект 8)
Pages[Page]:=RichEdit.Lines- это сохранение указателя


Anatoly Podgoretsky   (2005-09-19 11:01:00) [11]

Assign


Наверх

Титульная страница Поиск, карта сайта Написать письмо