Einzelnen Beitrag anzeigen

jbg

Registriert seit: 12. Jun 2002
3.483 Beiträge
 
Delphi 10.1 Berlin Professional
 
#8

Re: Kein Event vom Timer Win7

  Alt 20. Dez 2009, 12:04
Also ich habe jetzt mal schnell eine Testanwendung geschrieben (Win7, AeroGlass aktiv) und wenn ich einen BreakPoint auf das "Write;" lege, dann hält der Debugger dort auch an und das wegen dem Timer-Event mehrmals.

Delphi-Quellcode:
type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    procedure RenderProc(var Msg: TMessage);
  public
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

var
  RenderHandle: THandle;
  TimerID: Integer;

procedure TimerProc(wTimerID: DWORD; Msg: DWORD;
                                     dwUser: longint;
                                     dw1: longint;
                                     dw2: longint); stdcall;
begin
  PostMessage(RenderHandle, MyTimerMessage, dw1, dw2);
end;

procedure TForm1.RenderProc(var Msg: TMessage);
begin
  if Msg.Msg = MyTimerMessage then
    Write; // << Breakpoint hier
  with Msg do
    Result := DefWindowProc(RenderHandle, Msg, WParam, LParam);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  RenderHandle := Classes.AllocateHWnd(RenderProc);
  TimerID := timeSetEvent(25, 300, @TimerProc, RenderHandle, TIME_PERIODIC);
end;
  Mit Zitat antworten Zitat