我与同时启动,有其OnTimer事件在主应用程序线程执行一个简单的TTimer的问题,代码如下:
procedure TForm1.DoSomeStuff();
begin
OmniLock.Acquire;
try
Parallel.Pipeline.NumTasks(MaxThreads).Stage(StageProc).Run;
if (MyTimer = nil) then
begin
MyTimer := TTimer.Create(nil);
MyTimer.Interval := 60 * 1000; // timer fired every 60 seconds
MyTimer.OnTimer := MyTimerEvent;
MyTimer.Enabled := True;
end;
finally
OmniLock.Release;
end; // try/finally
end;
寄托都工作得很好,当我执行在一个简单的项目/演示代码,但在我的应用程序(它使用全线程库第三版),定时器事件从来没有发射
我敢肯定, 这没有什么 ,我只是无法弄清楚什么是错的!
我三重检查: MyTimer
只在我的代码分配一次,它的OnTimer事件已被正确分配,等等。
我用Delphi 2010
任何人都知道如何解决这个问题?