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

Вниз

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

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

Наверх





Память: 0.46 MB
Время: 0.011 c
8-1115292435
TS
2005-05-05 15:27
2005.09.18
Конвертация BMP to JPEG


1-1125236737
SergProger
2005-08-28 17:45
2005.09.18
Очиска TImage


3-1123454233
Зёма
2005-08-08 02:37
2005.09.18
Ненормальный размер файла БД


2-1123761508
hunn
2005-08-11 15:58
2005.09.18
вызов хелпа


8-1115423579
ronyn
2005-05-07 03:52
2005.09.18
КАК ИЗБАВИТЬСЯ ОТ ТОРМОЖЕНИЯ ПРИ ПРОИГРЫВАНИИ?





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