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

Вниз

Свойство класса - множество   Найти похожие ветки 

 
anton20vlad   (2011-07-19 17:21) [0]

Всем привет, у меня такой вопрос:

Есть класс со свойством которое является множеством:


type
 TEnum = (eOne, eTwo, eThree);
 TEnumSet = set of TEnum;
 
 TA = class
 private
   FP: TEnumSet;
   procedure SetP(const Value: TEnumSet);
   function GetP(): TEnumSet;
 public
   property P:TEnumSet read GetP write SetP;
 end;


Теперь я хочу выполнить следующее:

....
var
 V: TA;
...
begin
  V := TA.Create();
  Include(V.P, eOne, eTwo);
  V.Free();
end;
....


На строке с Include ругается на этапе компиляции:
[DCC Error] Unit.pas(482): E2064 Left side cannot be assigned to

Так работает как ожидается:

....
var
 V: TA;
 S: TEnumSet;
...
begin
  V := TA.Create();
  S := V.P;
  Include(S, eOne, eTwo);
  V.P := S;
  V.Free();
end;
....


Я думаю есть вариант сделать Include(V.P, eOne, eTwo); без ошибок компилятора, но я о нём не знаю. Помогите советом, поиз


 
MBo ©   (2011-07-19 17:48) [1]

include со свойствами не работает, а вот + можно использовать


 
anton20vlad   (2011-07-19 17:53) [2]

Понял. Спасибо. Теперь у меня ещё один вопрос, а можно ли сделать оверлод для функции Include на вход которой будет подаваться множество но не как var параметр? Че-то я не пойму как объявлена функция Include...


 
Игорь Шевченко ©   (2011-07-19 20:12) [3]


> Че-то я не пойму как объявлена функция Include...


compiler magic


 
MBo ©   (2011-07-19 20:17) [4]

Include - не функция, а процедура,  без var не обойтись. Причем она ещё и compiler-magic.

Да и зачем это всё нужно - ведь +/- нагляднее, и уже давно привычнее.



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

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

Наверх




Память: 0.45 MB
Время: 0.003 c
1-1271836929
pasha_golub
2010-04-21 12:02
2011.11.06
Exceptions Type to Ignore не работает


8-1217859464
REX
2008-08-04 18:17
2011.11.06
Звук


2-1310738232
Aljonushka
2011-07-15 17:57
2011.11.06
Как вставить столбец данных из Экселя в СтрингГрид?


15-1310298590
Boxssss
2011-07-10 15:49
2011.11.06
Посоветуйте хостинг


6-1243782288
ikot
2009-05-31 19:04
2011.11.06
Intel Jpeg Library и сокеты





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский