急问事件赋值语句应该如何写?(100分)

  • 主题发起人 主题发起人 Passion
  • 开始时间 开始时间
P

Passion

Unregistered / Unconfirmed
GUEST, unregistred user!
从Delphi刚转到BCB,连一些基本的语法都搞不清。
我动态创建了一个timer,将其Ontimer事件用一个事件处理函数timefunc来处理。这个timefunc函数我要写成一个单独的函数,不是某个类的成员函数。麻烦高手指点一下?
 
timer->OnTimer = timefunc;
 
procedure Tform1.ontimer(sender:tobject);
begin
//...
end;
procedure Tform1.buttonqclick(sender:tobject);
var
ftime:ttimer;
begin
Ftimer:=ttimer.Create(nil);
ftimer.Enabled:=false;
ftimer.Interval:=30000;
ftimer.OnTimer:=ontimer;
end;
 
首先此函数应该声明为void __fastcall function(){}
至于访问限制无关紧要。
然后
timer->OnTimer = timefunc;

 
先声明一个和ONTIMER带有一样参数的函数
然后就可以把TIMER的ONTIMER事件指过去旧可以了;
Timer1->OnTimer = TimeFunc;
 
BCB和delphi也没多大区别
 
明白了,必须是某个类的成员函数,否则就不能赋值。
 
后退
顶部