Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 11.06.2007, 16:36
Аватар для The Shadow
The Shadow The Shadow вне форума
Продвинутый
 
Регистрация: 11.06.2007
Адрес: Уфа, Россия
Сообщения: 793
Репутация: 35
Вопрос Создание свойств-событий компонента

Подскажите, как создать инициатор события. Например свойство OnCount включается, когда переменная X = 5. Не знаю, как это сделать.
Ответить с цитированием
  #2  
Старый 11.06.2007, 17:28
BlackCash BlackCash вне форума
Прохожий
 
Регистрация: 08.06.2007
Сообщения: 42
Репутация: 15
По умолчанию

Возможно это подойдет, сам не пробовал...
///////////////////////////////////////////////////////
procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
P1: TProcedure;
begin
i:=5;
if i = 5 then begin
@P1 := @Button2.OnKeyDown;
P1;
end;
end;
Ответить с цитированием
  #3  
Старый 12.06.2007, 08:40
Аватар для The Shadow
The Shadow The Shadow вне форума
Продвинутый
 
Регистрация: 11.06.2007
Адрес: Уфа, Россия
Сообщения: 793
Репутация: 35
По умолчанию

Спасибо, но я имел в ввиду свойство своего компонента, а кнопки там нет.
Ответить с цитированием
  #4  
Старый 12.06.2007, 09:30
BlackCash BlackCash вне форума
Прохожий
 
Регистрация: 08.06.2007
Сообщения: 42
Репутация: 15
По умолчанию

Я привел пример инициализации события OnKeyDown,
переправь так как тебе надо... например...
///////////////////////////////////////////////////////
....
@P1 := @MyComponent.OnCount; // Ссылка на событие
....
///////////////////////////////////////////////////////

или ты свой компонент делаешь?
Ответить с цитированием
  #5  
Старый 12.06.2007, 11:58
Аватар для Decoding
Decoding Decoding вне форума
Местный
 
Регистрация: 03.06.2006
Адрес: Почту найдете на моем сайте
Сообщения: 576
Версия Delphi: D10.2
Репутация: 214
По умолчанию

Создай в секции private своего компонента переменную для своего события
Код:
private
  FCount: TNotifyEvent;
Затем в секции published создай событие
Код:
 
published
  property OnCount: TNotifyEvent read FCount write FCount;
Затем, в том месте кода компонента, где должно вызваться событие, напиши
Код:
 
if Assigned( FCount ) then OnCount( Self );
Ответить с цитированием
  #6  
Старый 12.06.2007, 14:43
Аватар для The Shadow
The Shadow The Shadow вне форума
Продвинутый
 
Регистрация: 11.06.2007
Адрес: Уфа, Россия
Сообщения: 793
Репутация: 35
По умолчанию

Цитата:
Сообщение от BlackCash
Я привел пример инициализации события OnKeyDown,
переправь так как тебе надо... например...
///////////////////////////////////////////////////////
....
@P1 := @MyComponent.OnCount; // Ссылка на событие
....
///////////////////////////////////////////////////////

или ты свой компонент делаешь?
Я свой компонент делаю.
Ответить с цитированием
  #7  
Старый 12.06.2007, 15:19
Аватар для The Shadow
The Shadow The Shadow вне форума
Продвинутый
 
Регистрация: 11.06.2007
Адрес: Уфа, Россия
Сообщения: 793
Репутация: 35
По умолчанию

Проблема в том, что я не знаю в каком месте писать if Assigned( FCount ) then OnCount( Self );
Ответить с цитированием
  #8  
Старый 12.06.2007, 15:51
Аватар для Wipahacker
Wipahacker Wipahacker вне форума
Начинающий
 
Регистрация: 01.06.2007
Адрес: ДОНЕЦК
Сообщения: 112
Репутация: 10
По умолчанию

AidarBik делай так как Говорит Decoding он знает что говирит!!
Ответить с цитированием
  #9  
Старый 12.06.2007, 19:01
Аватар для Decoding
Decoding Decoding вне форума
Местный
 
Регистрация: 03.06.2006
Адрес: Почту найдете на моем сайте
Сообщения: 576
Версия Delphi: D10.2
Репутация: 214
По умолчанию

Тогда выкладывай компонент (или вышли почтой), помогу…
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 02:59.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter