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

Вниз

Методы компонентов   Найти похожие ветки 

 
Карлмаркс   (2005-05-20 03:25) [0]

Привет!
Допустим, я создал в runtime компонент. как задать ему метод? процедуры ведь не катят, там надо procedure of object.. Но эти of object какие-то странные. где их взять?? Насколько я понял, их можно только копировать от уже созданных объектов? или можно как-то ещё?


 
Defunct ©   (2005-05-20 04:57) [1]

> как задать ему метод?
with TSomeComponent.Create(...) do
 OnSomething := DoSomething;

> Но эти of object какие-то странные. где их взять??  
Описать например в шапке формы.

TForm1 = class(TForm)
...
...
private
 procedure MyClick( Sender: TObject); // <<-- Вот и требуемый метод
...
end;

Если компонент твой тогда ты волен написать:

TMyProc = procedure;

TMyComponent = class(TComponent)
..
property OnSomething: TMyProc ....
end;

> или можно как-то ещё?
можно, но не нужно.

Тебе лень в описании TForm1 включить назначаемые методы?

> Насколько я понял, их можно только копировать от уже созданных объектов?

А ты хотел чтобы программа также динамически создавала за тебя все обработчики? Конечно, назначаемые методы должны быть где-то заранее описаны.


 
Карлмаркс   (2005-05-20 07:21) [2]

Да, действительно, с формой я как-то не догадался.. :)
спасибо, буду пробовать!


 
Digitman ©   (2005-05-20 09:09) [3]


> процедуры ведь не катят


и процедуры "катят"

procedure MyEventHandler(..);
begin
..//здесь можно все, но нельзя обращаться к Self, если Data:nil (см.ниже) !
end;

var //const
Method: TMethod = (Code: @MyEventHandler; Data:nil);

..

with TSomeComponent.Create(...) do
OnSomething := TSomeComponentEvent(Method);



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

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

Наверх




Память: 0.47 MB
Время: 0.024 c
4-1113262099
jobo
2005-04-12 03:28
2005.06.06
Запрет Minimize конкретной формы


9-1106235681
Darth
2005-01-20 18:41
2005.06.06
Предлагаю всем форумом (всем желающим) сделать 64К демо на делфи


1-1116849067
Igor.ru
2005-05-23 15:51
2005.06.06
TFrame


14-1116583846
BugMaker
2005-05-20 14:10
2005.06.06
Подскажите, как правильно выделить части URL-адреса?


1-1116840131
Толян
2005-05-23 13:22
2005.06.06
Управлением системной консоли из своего приложения