时间回调函数中如何调用窗体可视按键的事件?
秋天之落叶 2019-09-28 12:31:32 procedure MyCallBack(uTimerID, uMessage: UINT; dwUser, dw1, dw2: DWORD) stdcall;
begin
TestFrm.lbl_Count.Caption := IntToStr(iCount);
Inc(iCount);
TestFrm.btn_DoSomethingClick(nil);{1、这里想调用窗体的一个按键事件,却总是执行完成后死机,如何处理?}
end;
procedure TTestFrm.btn_StartClick(Sender: TObject); //按开始按钮,开始计数
begin
timeid := timeSetEvent(1,1,@MyCallBack,0,TIME_PERIODIC);
end;
procedure TTestFrm.btn_StopClick(Sender: TObject);
begin
timeKillEvent(timeid); {2、我自己加上 timeid:=0 没什么问题吧?}
iCount := 0;
end;
1.调用窗体的一个可视按键事件,却总是执行完成后死机,如何处理?
2.timeKillEvent(timeid)后timeid依然大于0,比如是16,32等,因为我有timeid>0的判断,给timeid:=0赋值,有什么问题吗?