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

ООП   Найти похожие ветки 

 
Scot Storch   (2010-08-17 13:10) [0]

в отдельном Unit"e находится класс TNode. В основном Unit"e создаю объект этого класса. При попытке назначить значение полю Name записи типа Tnode_info (upd_pack.FInfo.upd.Info.Name := "zzz";) ругается "Left side  cannot be assigned to". Как разрешить назначение этому полю?

 { Tnode_info }

 Tnode_info = record
   Name: string;
   Attrs: TAttrs;
 end;

 { TNode }

 TNode = class(TObject)
 private
   { ... }
   FInfo: Tnode_info;
   { ... }
 public
   constructor Create;
   destructor Destroy; override;
   { ... }
 {  }
   { ... }
   property Info: Tnode_info read FInfo write FInfo;
   { ... }
 end;


 
Ega23 ©   (2010-08-17 13:16) [1]


TNode = class(TObject)
public
  property Info: Tnode_info;
end;


Зачем тебе отдельное property для рекорда, если у тебя ни геттеров ни сеттеров?


 
12 ©   (2010-08-17 13:17) [2]


> upd_pack.FInfo.Info.Name := "zzz";

что такое это, по словам

(например,
upd_pack - модуль
FInfo - объект

)


> TAttrs;

это что?


 
12 ©   (2010-08-17 13:18) [3]

> upd_pack.FInfo.upd.Info.Name := "zzz";
это, по словам, что такое& каждое слово
Info.Name - понятно, до этого нет

> TAttrs;
это что?


 
Ega23 ©   (2010-08-17 13:32) [4]

Осечка.
TNode = class(TObject)
public
 Info: Tnode_info;
end;


property было лишнее.


 
Scot Storch   (2010-08-17 13:35) [5]


> Ega23


все ясно, спс



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

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



Память: 0.46 MB
Время: 0.005 c
2-1283843322
PonosetcDM
2010-09-07 11:08
2010.11.28
Корректное завершение работы TIdTCServer


2-1283663438
Делфиец
2010-09-05 09:10
2010.11.28
Kак преобразовать путь программы


15-1282339535
старый ламер
2010-08-21 01:25
2010.11.28
Как быстрее влиться в проект.


4-1242025717
vvavva
2009-05-11 11:08
2010.11.28
как запустить программу через командную строку с параметрами?


15-1282541332
12
2010-08-23 09:28
2010.11.28
Сообщения. Уведомления об изменениях других окон




   Наверх