Главная страница
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.025 c
8-1081334975
Mantic0re
2004-04-07 14:49
2004.06.27
Кэширование миниатюр..


1-1087202445
PenguinX
2004-06-14 12:40
2004.06.27
структура BMP-файла


1-1087231621
Mer
2004-06-14 20:47
2004.06.27
Таймер


8-1081724616
Bonial
2004-04-12 03:03
2004.06.27
Проигрывание MIDI - ноты.


1-1086887027
nester
2004-06-10 21:03
2004.06.27
Как зашифровать exe-шник и расшифровать его на лету.