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

Вниз

Event & Procedure   Найти похожие ветки 

 
Nico1a   (2002-09-12 15:42) [0]

Как и где описать процедуру (Прога без формы), чтобы её присвоить событию, а то компилятор ругается :"...untyped procedure with untyped parameters..."


 
Alx2 ©   (2002-09-12 15:44) [1]

Код нужно с тем, что уже есть.
А пока не понятно что ищется.


 
Виктор Щербаков ©   (2002-09-12 15:48) [2]


> Как и где описать процедуру (Прога без формы), чтобы её
> присвоить событию

Процедура должна быть методом какого-либо объекта.


 
oss ©   (2002-09-12 15:53) [3]

а можешь ее вызвать в событие


 
Mike Kouzmine   (2002-09-12 16:18) [4]

procedure (......) of object;


 
NailS ©   (2002-09-13 10:07) [5]


> Процедура должна быть методом какого-либо объекта.


Но можно и обмануть, совсем немножко.

function MakeMethod(DataSelf, Code: Pointer): TMethod;
Begin
Result.Data := DataSelf;
Result.Code := Code;
End;//


procedure MyEvent(Sender: TObject);
begin
ShowMessage("Yes");
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
if Sender is TForm then
(Sender as TForm).OnShow := TNotifyEvent(MakeMethod(nil,@MyEvent));
end;


CopyRight (c) Andrew P.Rybin


 
Старый Паскалист   (2002-09-13 11:11) [6]

Обмануть-то не сложно, только для этого надо понимать,
что делаешь:

procedure MyEvent( Self: TObject; Sender: TObject);
begin
ShowMessage("Yes");
end;

PS Поэтому так делать и не рекомендуется: небольшое недопонимание может привести к большим глюкам.


 
Старый Паскалист   (2002-09-13 11:24) [7]

Если без извратов, то лучше создать специальный класс

TDummy = class
class procedure MyEventHandler(Sender: TObject);
// классовый метод - для того, чтобы не создавать экземпляр.
// класовые методы совместимы с обычными,
// только им в качестве Self передаётся TClass (что естественно)
end;

Something.OnShow := TDummy.MyEventHandler;


 
NailS ©   (2002-09-13 12:52) [8]


> Старый Паскалист


Спасибо, не знал.



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

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

Наверх




Память: 0.48 MB
Время: 0.015 c
1-85488
Valentino
2002-09-15 18:10
2002.09.26
Программирование клавиатуры


1-85430
SoniK
2002-09-14 16:24
2002.09.26
****.exe


1-85511
777
2002-09-13 12:22
2002.09.26
Массивы


3-85341
Spooky
2002-09-04 12:03
2002.09.26
Удаление записи, указанной в наборе пользователем, с помощью SQL


14-85691
michael_b
2002-09-01 20:26
2002.09.26
Подскажите книгу по написанию клиент-серверных в delphi