![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите с MCK
shalex © (2005-10-10 09:58:00)Когда добавляю новое свойство типа TColor, то в инспекторе объектов цвет отображается как integer, с fontом тоже ничего не получается.
shalex (2005-10-10 14:01:00) [1]Да, совсем забыл... ведь в KOL я создаю, а в MCK забыл...
ECM (2005-10-10 13:44:00) [2]З.З.Ы
> то инспекторе объектов при нажатии на "+", который должен
> открыть свойства fonta, ничего не происходит, т.е. эти свойства
> не открываются
Еще бы...:)
А что можно открыть по ссылке fFont = nil ???
ECM (2005-10-10 13:40:00) [3]Хех...
TKOLFont в отличии от TColor - это класс.
fFont: TKOLFont - это объявление ссылки на класс TKOLFont
и означает сие то, что его (экземляр класса) необходимо создать самостоятельно (желательно в конструкторе компонента его содержащего):
constructor TKOLSomeComponent.Create(AOwner:TComponent);
begin
fFont := TKOLFont.Create(Self);
inherited;
end;
З.Ы.
Кстати не забудьте освободить его в деструкторе
shalex (2005-10-10 13:30:00) [4]В том то и проблема: когда использую TKOLFont, то инспекторе объектов при нажатии на "+", который должен открыть свойства fonta, ничего не происходит, т.е. эти свойства не открываются.
ECM (2005-10-10 13:21:00) [5]
> Это, кстати, и поможет исправить ситуацию и с TFont...:)
Это я конечно поспешил...:)
Надо использовать TKOLFont - это нативный VCL-class определен в mirror.pas
shalex (2005-10-10 12:08:00) [6]C цветом все получилось, вот только я не понял: вместо TKOLFont использовать TFont ? Почему же у остальных KOL компонентов (например у KOLLabel) свойство FOnt имеет тип именно TKOLFont ?
ECM (2005-10-10 11:04:00) [7]З.Ы. Я бы посоветовал в MCK (по возможности) не использовать KOL...
Зачем мешать KOL c VCL?
:)
В результате как раз такие вещи и происходят.
ECM (2005-10-10 11:01:00) [8]
> новое свойство типа TColor, то в инспекторе объектов цвет
> отображается как integer
Это так если в uses интерфейсной части MCK-модуля объявлен модуль KOL (KOL.TColor = Integer), но не объявлен модуль Graphics. ("родной" тип VCL.TColor декларирован там)
Просто дабавьте объявление модуля Graphics (где нибудь за объявлением KOL - иначе все-равно будет использоваться KOL.TColor)
....
Это, кстати, и поможет исправить ситуацию и с TFont...:)
VCL.TFont объявлен там же в Graphics.pas.
<Falcon> (2005-10-10 10:49:00) [9]А каким же ему быть то??