Главная страница
    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.035 c
15-1164112027
*Ray*
2006-11-21 15:27
2006.12.10
библиотека JVCL (проект Jedi)


3-1159946116
Монг
2006-10-04 11:15
2006.12.10
Проблема с выполнением функции


4-1153726398
4EPEII
2006-07-24 11:33
2006.12.10
Сетевые настройки


15-1164011476
Gavrila
2006-11-20 11:31
2006.12.10
TTreeView: как правильно использовать метод AddObject?


11-1140363073
NightLord
2006-02-19 18:31
2006.12.10
Kol and Vcl





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