Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.12.10;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.042 c
1-1162125556
Yuiop
2006-10-29 15:39
2006.12.10
Конвертировать из Rave в *.doc


2-1164269942
Dimon777
2006-11-23 11:19
2006.12.10
Как правильно написать предложение Insert в SQL запрос


11-1140316470
vvp
2006-02-19 05:34
2006.12.10
Как получить индексы выделенных элементов в ListBox е?


2-1164121784
kirillrepin
2006-11-21 18:09
2006.12.10
как во внутрь процедуры вставить задержку


6-1152988616
Kilima
2006-07-15 22:36
2006.12.10
idPop3, idSmtp, idMessage





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