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

Вниз

Устаовка события для компонента   Найти похожие ветки 

 
Ezorcist   (2005-11-04 08:41) [0]

Создал компонет обычный, хочу установить для него обработчик события, например Comp.OnCLick:= А дальше чего написать? Если прото процедуру, то не подходит...

Заранееспасибо


 
злобная танька   (2005-11-04 09:56) [1]

в классе формы объяви
 procedure MyProcedure(Sender: TObject);

напиши реализацию,
а потом присваивай

Comp.OnCLick := MyProcedure;

Хотя можно и процедуру:

//вот какая-то процедура:
procedure p;
begin
 Halt;
end;

//тут мы будем её присваивать:
procedure Form1.Button1Click(Sender: TObject);
var
 M: TMethod;
begin
 M.Code := @p;  //превращаем её в метод
 M.Data := nil;  
 Comp.OnCLick := TNotifyEvent(M);  //и назначаем компоненту.
end;

TNotifyEvent это тип методов которые в качестве формального параметра используют Sender: TObject. К ним относятся клики и некоторые другие. ывают ещё TMouseEvent, TKeyPressEvent и другие. Описаны в модуле Controls.


 
Ezorcist   (2005-11-04 14:13) [2]

Спасибо, а еще вопрос как заставить консольное не закрываться? Бесконечный 1=0 забивает проц, а вот это

While GetMessage( Msg,0,0,0) do
begin
translatemessage(msg);
dispatchmessage(msg);
end;

из книги, вызывает ошибку, когда консольное приложение получает текст по сокету...


 
злобная танька   (2005-11-05 10:39) [3]

Repeat
 //ввод с клавиатуры
 //вычисления
 //вывод
Until ExitFlag;

если пользователь ввёл например "exit", то присваиваем ExitFlag значение true, прога выходит из цикла и завершаеца.


 
Ezorcist   (2005-11-05 15:10) [4]

Неа, не работает так,
вроде бы програ останавливает свою деятельность и ждет, пока пользователь чего-нибудь ей не напишет. А у TServerSocket в это время событие, которое прога не выполняет.


 
злобная танька   (2005-11-05 19:12) [5]


> Ezorcist   (05.11.05 15:10) [4]

может я глупость скажу..
а ввод нельзя в отдельный поток засунуть? :)


 
Ezorcist   (2005-11-05 20:54) [6]

Точно, в потоке работает, но мне надо консоль убрать :) Теперь ReadLn пихать некуда (



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

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

Наверх




Память: 0.47 MB
Время: 0.03 c
1-1130238930
Sergey_R
2005-10-25 15:15
2005.11.20
Самый быстрый способ сортировки массива


14-1130762744
moonWalker
2005-10-31 15:45
2005.11.20
Про картинку на сайте


3-1128587181
msguns
2005-10-06 12:26
2005.11.20
Access. JOIN более 2 таблиц


14-1130375544
TakeIt
2005-10-27 05:12
2005.11.20
Что такое новая система шаблонов кода в Delphi 2006 ?


1-1130404644
Walker
2005-10-27 13:17
2005.11.20
Интерфейс: построитель выражений