Главная страница
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.48 MB
Время: 0.028 c
14-1080211574
panov
2004-03-25 13:46
2004.04.18
PGP в TheBat


11-1061979911
mdw
2003-08-27 14:25
2004.04.18
Версия 1.83


8-1072787252
кир
2003-12-30 15:27
2004.04.18
Как сгенерировать звук на левый и правый канал отдельно и как...


14-1080424671
kdd
2004-03-28 00:57
2004.04.18
Delphi 8


1-1080590705
Shopot
2004-03-30 00:05
2004.04.18
Горячие клавиши в Delphi.