![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
массив из классов 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