![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#30
|
|||
|
|||
|
когда напишешь так
Код:
property uchastok: tuchastok_array // и здесь read fuchastok write fuchastok; То есть нужно либо оставить только свойство для чтения(при этом модифицировать элементы массива будет возможно), либо сделать более сложные телодвижения типа таких Код:
tbalka=class
private
fuchastok: array of tuchastok;
fshema:tcanvas;
function GetUchastok(index:Integer):tuchastok;
procedure SetUchastok(index:Integer; value :tuchastok);
procedure setshema(value:tcanvas);
public
property uchastok [index:integer]: tuchastok
read GetUchastok
write SetUchastok;
property shema:tcanvas
write setshema;
end;вот так Код:
var uchastok:tuchastok; uchastok:=balka.uchastok[i]; uchastok.fdlina:=10; balka.uchastok[i]:=uchastok; а вто так Код:
balka.uchastok[i].fdlina:=10; То есть лучше оставить только свойство для чтения, повторяюсь, при этом модифицировать элементы массива будет возможно: Код:
balka.uchastok[i].fdlina:=10; Индексированное свойство нужно делать, когда элементы являются ссылочными типами, например классами. |