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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.034 c
1-1130423595
_pioner_
2005-10-27 18:33
2005.11.20
Собственные шрифты в проге


14-1130357222
LordOfRock
2005-10-27 00:07
2005.11.20
Muse


3-1121670907
АМБ
2005-07-18 11:15
2005.11.20
Просмотр и восстановление "удаленных" записей в DBF таблицах


11-1110221256
Shanker
2005-03-07 21:47
2005.11.20
Проблемы с установкой Socket


14-1130765663
oldman
2005-10-31 16:34
2005.11.20
Годограф Михайлова...





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