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

Вниз

Может ли свойство возвращать разные типы данных?   Найти похожие ветки 

 
Darkwing ©   (2005-08-25 09:55) [0]

Есть класс

type
TFieldType = (fType1, fType2, fType3)
TMyClass = Class
 FieldType: TFieldType;
 pData: Pointer;
 property Data: ?
end;


Pointer Data, в зависимости от значения поля FieldType, может указывать на данные различного типа. Как правильно описать свойство Data, которое может иметь любой из типов данных?


 
Reindeer Moss Eater ©   (2005-08-25 10:01) [1]

Свойство всегда будет одного единственного типа.


 
--=ХР=--   (2005-08-25 10:14) [2]

variant


 
Alexander Panov ©   (2005-08-25 10:15) [3]

Darkwing ©   (25.08.05 9:55)

type
TFieldType = (fType1, fType2, fType3)
TMyClass = Class
  FieldType: TFieldType;
  pData: Pointer;
  function Data: String; overload;
  function Data: Integer; overload;
end;


 
OldNaum ©   (2005-08-25 10:15) [4]

Variant ?


 
OldNaum ©   (2005-08-25 10:17) [5]

синхронно ) но вариант Александра мне даже больше нравится )


 
Alexander Panov ©   (2005-08-25 10:21) [6]

Только забыл добавить, что функция должна быть с параметром:

type
TFieldType = (fType1, fType2, fType3)
TMyClass = Class
  FieldType: TFieldType;
  pData: Pointer;
  function Data(Parm: String): String; overload;
  function Data(Parm: Integer): Integer; overload;
end;


 
Reindeer Moss Eater ©   (2005-08-25 10:23) [7]

И что, свойство начало возвращать данные разных типов?
Оно вам возвращает вариант и только вариант.
А так я с таким же успехом могу сказать, что мое строковое свойство возвращает данные разных типов.


 
Leonid Troyanovsky ©   (2005-08-25 10:25) [8]


> Reindeer Moss Eater ©   (25.08.05 10:23) [7]
> И что, свойство начало возвращать данные разных типов?
> Оно вам возвращает вариант и только вариант.


Варианты разных типов.

--
Regards, LVT.


 
Reindeer Moss Eater ©   (2005-08-25 10:39) [9]

Вариант - это ровно один тип и не больше.


 
TUser ©   (2005-08-25 11:03) [10]

Сделать их наследниками одного базоваого класса.


 
Darkwing ©   (2005-08-25 11:04) [11]

Спасибо за помощь, господа!
Мне полностью подходит 6.



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

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

Наверх




Память: 0.49 MB
Время: 0.026 c
14-1124833263
ronyn
2005-08-24 01:41
2005.09.18
Как производится защита от копирования


14-1124221894
alex-drob
2005-08-16 23:51
2005.09.18
Часики в трее идут неправельно


3-1122989575
Hose
2005-08-02 17:32
2005.09.18
QR 3.6 Prof и композитный отчет. Как печатать с новой страницы?


3-1123133263
k2
2005-08-04 09:27
2005.09.18
Курсорные переменные (oracle)


14-1124556764
ArtemESC
2005-08-20 20:52
2005.09.18
Соответствия команд ASM