Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.06.27;
Скачать: CL | DM;

Вниз

Заморочка в коллекции   Найти похожие ветки 

 
Navi   (2004-06-12 17:46) [0]

Уважаемые мастера!
Опробовал пример к статье Юрия Зотова «Коллекции и работа с ними» (на Королевстве Дельфи). Ввел в свойства точки (TSpot) новое свойство Center: TPoint:
 TSpot = class(TCollectionItem)
 private
   FCenterX: integer;
   FCenterY: integer;
   FColor: TColor;
   FCenter: TPoint;
   procedure SetCenterX(const Value: integer);
   procedure SetCenterY(const Value: integer);
   procedure SetColor(const Value: TColor);
   procedure SetCenter(const Value: TPoint);
 public
   constructor Create(Collection: TCollection); override;
 published
   property CenterX: integer read FCenterX write SetCenterX default 3;
   property CenterY: integer read FCenterY write SetCenterY default 3;
   property Color: TColor read FColor write SetColor default clBlack;
   property Center: TPoint read FCenter write SetCenter;
 end;

И для реализации добавил:
procedure TSpot.SetCenter(const Value: TPoint);
begin
   FCenter.x:= Value.x;
   FCenter.y:= Value.y;
   Changed(False)
end;

Но такой код на кнопке формы:
var
 s: TSpot;
begin
 s:= DappledShape1.Spots.Add;
 s.Center.x:= 50; Я
end;
дает Error «Left side cannot be assigned to» при присвоении. Что-то я не догоняю. Помогите, пожалуйста.


 
KilkennyCat ©   (2004-06-12 18:00) [1]


> DappledShape1.Spots.Add


разве это можно присвоить ???? Подумайте, чему равняется DappledShape1.Spots.Add в Вашем варианте?


 
Navi   (2004-06-12 18:09) [2]

Ну а делаем:
s.CenterX:= 10; и все работает.


 
U   (2004-06-12 18:27) [3]

Когда свойство имеет тип структуры,
нельзя присваивать её полям.
Можно только присваивать структуру целиком:

s.Center := Point(10, 10);


 
Navi   (2004-06-13 12:18) [4]

Спасибо U. А вот такой вопрос(смежный). Для свойства типа integer можно написать спецификатор default, а для структуры типа TPoint можно как-то это сотворить?



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

Текущий архив: 2004.06.27;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.03 c
14-1086620098
VeTaL
2004-06-07 18:54
2004.06.27
Хороший хостинг!


8-1081715464
Skeptic
2004-04-12 00:31
2004.06.27
пульс!


3-1085973280
BezdAlex
2004-05-31 07:14
2004.06.27
Использование Access в DELPHI


1-1085084558
VflowerW
2004-05-21 00:22
2004.06.27
Ребята, помогите разобраться с Rave Reports


1-1087181005
Илья
2004-06-14 06:43
2004.06.27
программирование для КПК