Thema: timer

Einzelnen Beitrag anzeigen

arcon

Registriert seit: 8. Jun 2010
71 Beiträge
 
#10

AW: timer

  Alt 15. Sep 2010, 08:15
ich habe mal folgenden code gefunden gehabt ..

aber es gibt dabei leider kleine komplikationen ...

vielleicht könnt ihr mir dabei helfen !

Code:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs,
  ExtCtrls;

type
  PMethodPointer = ^TMethodPointer;
  TMethodPointer = packed record
    pMethod: Pointer;
    pObject: TObject;
  end;

type
  TForm1 = class(TForm)
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  T: TTimer;
  p: TMethodPointer;
  i: Integer;
implementation

{$R *.dfm}
 procedure NotifyEvent(Self: TMethodPointer; Sender: TObject);
begin
  writeln('yes');
  beep;
end;

begin
  T := TTimer.Create(nil);
  T.Interval := 2000; // -> löst alle 200 ms das OnTimer-Event aus
  try
    p.pMethod := @NotifyEvent;
    p.pObject := nil;
    T.OnTimer := TNotifyEvent(p);

    T.Enabled := true; // aktiviert den Timer
    writeln('Warte auf Event: '); <------ Hier tritt der FEHLER auf !
    for i := 1 to 5 do begin
      sleep(500);
      writeln('warte ' + inttostr(i*500) + 'ms...');
      NotifyEvent(p, T);
    end;
    T.Enabled := false; // deaktiviert den Timer
  finally
    T.Free;
  end;
end.
der fehler sagt aus : Im Projekt Project1.exe ist eine Exception der Klasse EInOutError mit der Meldung 'E/A-Fehler-105' aufgetreten.

kann mir jemand evtl. weiterhelfen, was ich falsch mache ?

danke !
  Mit Zitat antworten Zitat