Главная страница
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-85544
eLVik
2002-09-12 18:36
2002.09.26
Как удалить компонент его обработчиком?


3-85350
Ag2002
2002-09-04 16:27
2002.09.26
DataBase DeskTop


14-85647
Jee
2002-08-30 12:53
2002.09.26
Delphi 7 Studio


4-85737
Sergserg
2002-08-06 22:40
2002.09.26
Регионы Иконок.


7-85730
ПВВО
2002-07-08 14:40
2002.09.26
Звук