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 !