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

Вниз

Invalid type cast   Найти похожие ветки 

 
DimaBr   (2006-08-03 18:59) [0]

Создал класс, дабы не сохранять свойство в ресурсе.

TMyFont = class(TFont)
 private
   function IsCustomName: boolean;
 published
   property Charset default DEFAULT_CHARSET;
   property Color   default clWindowText;
   property Height  default -11;
   property Name   stored IsCustomName;
   property Style   default [];
end;

При объявлении свойства это типа в дизайнере возникает ошибка приведения типов, почему никак не могу понять.


property Font: TMyFont read GetFont write SetFont;

function TMyComponent.GetFont: TMyFont;
begin
 Result := fLabel.Font as TMyFont; // <- ошибка
 Result := TMyFont(fLabel.Font);   //  <- нет ошибки
end;


 
Ketmar ©   (2006-08-03 19:24) [1]

нельзя "повышать" тип. можно только "понижать". т.е. as тут "не канает".


 
Суслик ©   (2006-08-04 00:21) [2]


>  Result := TMyFont(fLabel.Font);   //  <- нет ошибки

нет ошибки компиляции, но runtime накажет :)


 
DimaBr   (2006-08-04 09:16) [3]


> Ketmar ©

Так что, написать функцию "повышения" ?

function FontAs(Value: TFont): TMyFont;
begin
 Result := TMyFont.Create;
 Result.Charset = Value.Charset;
 ....
end;


 
Ketmar ©   (2006-08-04 10:05) [4]

типа того. это корректней. %-)


 
Alekcvp ©   (2006-08-04 10:28) [5]


> Result := TMyFont(fLabel.Font);

Result.Assign(fLabel.Font) ?



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

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

Наверх




Память: 0.47 MB
Время: 0.031 c
2-1156910249
demonn1112
2006-08-30 07:57
2006.09.17
treeview


15-1156616467
batya17
2006-08-26 22:21
2006.09.17
каую прогу посоветуете для создание инсталяшек?


2-1156772003
zdm
2006-08-28 17:33
2006.09.17
ShowModal


15-1156227737
sergey888
2006-08-22 10:22
2006.09.17
Кто-нибудь делал на Дельфи что-то вроде ERWin


15-1156239467
Pazitron_Brain
2006-08-22 13:37
2006.09.17
Посоветуйте сайт или книгу по электроннике