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

Вниз

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

 
Карлмаркс   (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.014 c
1-1116788754
Delcom
2005-05-22 23:05
2005.06.06
Как работать с таймером в Delphi 6???


3-1115113694
kyn66
2005-05-03 13:48
2005.06.06
Как добавить ключевой столбец в существующую таблицу Access ?


1-1116446492
MuZa
2005-05-19 00:01
2005.06.06
MDI + menu


14-1116312763
Piter
2005-05-17 10:52
2005.06.06
Кто-нибудь знает теплообмен?


3-1114458697
DmitryMN
2005-04-25 23:51
2005.06.06
Права на базу Interbase





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