Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.06.27;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.031 c
6-1083836148
Kamil
2004-05-06 13:35
2004.06.27
Декомпиляторы


1-1086939407
Dysan
2004-06-11 11:36
2004.06.27
pchar ?


3-1086068311
Лена
2004-06-01 09:38
2004.06.27
перенос данных из Paradox в Interbase


1-1086778243
Shaman
2004-06-09 14:50
2004.06.27
Как обнулить переменную Currency


3-1086020321
Cyber
2004-05-31 20:18
2004.06.27
Построение запроса





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский