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

Вниз

Приветствую. Возникла проблема при создании компонента   Найти похожие ветки 

 
dreamse   (2006-11-25 21:07) [0]

Со значением TFont. т.е у компонента уже есть свой Font но потребовалось создать ещё один. Нужен он для драгого действия т.е например для изменения шрифта при наведении курсора на кнопку

т.е код :


 TMyEfButton = class(TAdvGlowButton, IDesign)
 private
   FFontBlock: TFont;
   procedure setFontBlock(const Value: TFont);
 protected
 public
   constructor Create(AOwner: TComponent); override;
 published
   property Description: TStringList read FDescription write
   property FontBlock: TFont read FFontBlock write setFontBlock;
 end;


Свойство создаёться но при нажатии на кнопку редактирования шрифта вылетает ошибка обращения к памяти. :(

Как я понял не создаёться сам объект хотя он присутствует в инспекторе объектов. Но его нельзя редактировать. т.е попытаться в инспекторе развернуть свойства FontBlock ничего не показываеться как будто бы свойст внутри его нет :(

Что делать ?


 
dreamse   (2006-11-25 21:08) [1]

При попытке вызвать

FontBlock.create или FFontBlock.create вылетает та же ошибка доступа к пямяти.


 
dreamse   (2006-11-25 21:15) [2]

Вот тут : http://www.vr-online.ru/topic.php?id=7938

Дувушка приводит пример такой же с точно такой же проблемой. И всё решаеться переходом на Delphi 2005 но это же не выход :(

Что может быть ?


 
dreamse   (2006-11-25 21:18) [3]

Оказываеться перекрыл метод Create :)

FFontBlock:=TFont.Create;

Всё всем спасибо что помогли :)

Оказыватьеся сам всё могу решить :)


 
Джо ©   (2006-11-25 23:39) [4]

> [3] dreamse   (25.11.06 21:18)
> Оказываеться перекрыл метод Create :)
>
> FFontBlock:=TFont.Create;

Кроме того, нужно уничтожить экз. в Destroy.
Кроме того, в методе SetFontBlock нужно делать Assign.
В общем, смотри исходники любого компонента/класса в VCL, у которого есть свойство Font.


 
dreamse   (2006-11-26 13:11) [5]

> Джо ©   (25.11.06 23:39) [4]

Assign и Destroy написал ещё вчера , спасибо за помощь


 
ProgRAMmer Dimonych ©   (2006-11-26 13:13) [6]

> dreamse   (26.11.06 13:11) [5]
Рекомендуется, вообще-то .Free, т.к. безопаснее.


 
Джо ©   (2006-11-26 16:29) [7]

> [6] ProgRAMmer Dimonych ©   (26.11.06 13:13)
> > dreamse   (26.11.06 13:11) [5]
> Рекомендуется, вообще-то .Free, т.к. безопаснее.

Мы говорим о переопределении деструктора Destroy, а не о его вызове.



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

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

Наверх




Память: 0.48 MB
Время: 0.046 c
2-1164278966
vtur
2006-11-23 13:49
2006.12.10
Как передать DLL-процедуре указатель на Owner (TComponent)


2-1164052259
c0rben
2006-11-20 22:50
2006.12.10
Вопрос по компоненту TListBox


3-1160023719
alucard
2006-10-05 08:48
2006.12.10
Подскажите как скопировать DataSet


6-1153662868
prim_v
2006-07-23 17:54
2006.12.10
изменить IP


15-1163773267
Palladin
2006-11-17 17:21
2006.12.10
вот уж переведут так переведут