【怪!】为什么我的Timer部分工作,部分却不工作?????
Unit untMain;
Interface
Uses
//...
Type
TStdFrmMain = Class(TForm)
// ...
ExbBtnPlayerPlay: TdxBarLargeButton;
ExbBtnPlayerPause: TdxBarLargeButton;
ExbBtnPlayerStop: TdxBarLargeButton;
Procedure WMOnTimer(Hande: THandle; Msg: Cardinal; IDEvent: Pointer;
dwTime: DWord); Stdcall;
Private
{ Private declarations }
Public
{ Public declarations }
End;
Var
StdFrmMain: TStdFrmMain;
Implementation
Var
uTimerID: UINT;
Procedure TStdFrmMain.WMOnTimer(Hande: THandle; Msg: Cardinal; IDEvent: Pointer;
dwTime: DWord);
Begin
GFlashPlayer.TopInfo := IntToStr(GFlashPlayer.CurrentFrame);
Application.ProcessMessages;
//上面的都执行到了
If uTrackIsDown=False Then //知道肯定是False
Begin
//下面的死活不执行!!!
AddImgTrack.Left:=Trunc(
GFlashPlayer.CurrentFrame/GFlashPlayer.TotalFrams*(AddShpBlack.Width-20)+20
);
Application.ProcessMessages;
End;
End;
Procedure TStdFrmMain.ExbBtnPlayerPlayClick(Sender: TObject);
Begin
GFlashPlayer.Play;
GFlashPlayer.TopInfo := '播放';
UpdateUI;
uTimerID := SetTimer(0, 0, 1000, MethodAddress('WMOnTimer'));
End;
Procedure TStdFrmMain.ExbBtnPlayerPauseClick(Sender: TObject);
Begin
KillTimer(0, uTimerID);
GFlashPlayer.Pause;
GFlashPlayer.TopInfo := '暂停';
UpdateUI;
End;
Procedure TStdFrmMain.ExbBtnPlayerStopClick(Sender: TObject);
Begin
KillTimer(0, uTimerID);
GFlashPlayer.Stop;
GFlashPlayer.TopInfo := '停止';
UpdateUI;
End;
End.
----
还有只要有AddImgXXX{是个TImage}.Left:=Trunc(YYY{任何数字});,他和他下面的语句就死活不执行!!!!为什么?????