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

Вниз

Прошу совета, как реализовать класс.   Найти похожие ветки 

 
SisiusP   (2004-03-30 10:11) [0]

Свойство Obj должно содержать в себе либо строку, либо Canvas (возможно еще что-то),
в зависимости от значения ObjType. Соот-но методы GetObj, SetObj это должны обрабатывать.
Не получается приведение Pointer к AnsiString и TCanvas.

 TObjType = (potString, potCanvas);

 TMyClass = class(TObject)
 protected
   FName: Ansistring;
   FObjType: TPrintObjType;
   FObj: Pointer;
 protected
   procedure SetName(aName: Ansistring);
   procedure SetObjType(aObjType: TPrintObjType);
   function GetObj: Pointer;
   procedure SetObj(aObj: Pointer);
 public
   constructor Create;
   destructor Destroy; override;

   property Name: Ansistring read FName write SetName;
   property ObjType: TPrintObjType read FObjType write SetObjType;
   property Obj: Pointer read GetObj write SetObj;
 end;

Спасибо.


 
Asdor ©   (2004-03-30 10:33) [1]

А если вместо строки хранить указатель на нее (PString)?
Только надо будет позаботится о корректном выделении/освобождении памяти...


 
Digitman ©   (2004-03-30 10:37) [2]

на то имеется тип Variant


 
Семен Сорокин ©   (2004-03-30 10:39) [3]

SisiusP   (30.03.04 10:11)  
сделай 2 свойства, одно для канвы, а другое для строки  + метод (или свойство) - что использовать и не мучайся.


 
SisiusP   (2004-03-30 10:46) [4]

А если еще тип нужно будет обрабатывать, то что третье свойство добавлять? Это как-то не очень хотелось.


 
PVOzerski ©   (2004-03-30 10:57) [5]

Что длинная строка, что экземпляр класса - всё указатель в 4 байта. Почему приведение не получается - непонятно. Что компилятор-то говорит?


 
SisiusP   (2004-03-30 11:11) [6]

Через PString или PAnsistring все приводится.


 
Матлабист   (2004-03-30 11:41) [7]

1) Variant
2) Замена условной логики полиморфизмом



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

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

Наверх




Память: 0.45 MB
Время: 0.034 c
14-1080295305
Nick-From
2004-03-26 13:01
2004.04.18
Симплексный метод


1-1080828860
Franzy
2004-04-01 18:14
2004.04.18
Прерывание работы цикла по тпользователя


6-1076921072
nazgul
2004-02-16 11:44
2004.04.18
ServerSoket и ClientSoket... #каналы


1-1080891059
wa-ckum-gg
2004-04-02 11:30
2004.04.18
RichEdit/RxRichEdit верхний/нижний индекс


14-1080097484
Думкин
2004-03-24 06:04
2004.04.18
С днем рождения! 24 марта.





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