Вниз
Скачать: CL | DM;

Assign или :=   Найти похожие ветки 

 
_Nicola_   (2002-11-12 09:48) [0]

Есть куча записей (не БД), в которых есть поле TStringList. При переходе по записям TStringList отображается в Memo.
Как лучше сделать:
Memo.Lines := MyRec.StringList (как сейчас).
или
Memo.Lines.Assign(MyRec.StringList)?

2) Не будет ли при первом способе засоряться память?
3) Можно ли сделать так, чтобы изменения сделанные в Memo автоматически оставались в StringList текущей записи без специальной процедуры сохранения?

Спасибо всем ответившим.


 
MBo ©   (2002-11-12 09:52) [1]

1) оба способа делают одно и тоже.
3) OnChange Memo


 
Reindeer Moss Eater   (2002-11-12 09:53) [2]

1. Без разницы:
procedure TCustomMemo.SetLines(Value: TStrings);
begin
FLines.Assign(Value);
end;

2. Нет

3. Нет


 
_Nicola_   (2002-11-12 10:28) [3]

Мне хотелось услышать независимое мнение. Но, как говорил какой-то известный робот - "Есть другая информация":
(Где-то вычитал)
При Memo.Lines := MyRec.StringList указатель Memo.Lines начинает указывать на MyRec.StringList (отсюда вопросы 2 и 3), а при Assign копируется содержимое. Но, действительно, глядя на исходники, убеждаешься, что это враки.

И по (3): если 2 указателя указывают на 1 переменную, то изменив значение по одному указателю, по другому прочитаем измененное значение. Наверное, как-то можно такое провернуть и со StringList. Я, правда, ничего не смог придумать. А вы?


 
Reindeer Moss Eater   (2002-11-12 10:31) [4]

не начинает он указывать.


 
Bsl   (2002-11-12 10:33) [5]

Мне кажется, что если StringList - это property, то нормальные порграммисты Borland не допустят лобовое присвоение объектов (указателей).
А если совсем точно нужно, то посмотри исходник TMemo - как работает это property.


 
Юрий Федоров ©   (2002-11-12 10:57) [6]

Слушайте MBO, он прав



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.011 c
1-69369
ec
2002-11-08 20:29
2002.11.21
аналог TStringList


1-69426
Vetalar
2002-11-10 21:47
2002.11.21
Как ограничить количество знаков после запятой?


14-69487
blackweber
2002-11-05 00:50
2002.11.21
GUID


1-69256
Snap
2002-11-09 21:08
2002.11.21
позиционно независимый код


1-69382
greenrul
2002-11-10 15:15
2002.11.21
Как преобразовать дату в удобный формат?




   Наверх