16. maj 2002 - 10:29
Der er
5 kommentarer
Tildele en procedure en event
Jeg har en unit med en timer, og opsætningen ser nogenlunde sådan her ud: TEnClass = class private procedure TrigTimer(Sender: TObject); end; var TheTimer: TTimer; Hej: TEnClass; implementation procedure Hej.TrigTimer(Sender; TObject); begin ShowMessage('hej'); end; initialization Hej := TEnClass.Create; TheTimer := TheTimer.Create(nil) TheTimer.OnTimer := Hej.TrigTimer; end. dette er en 'rå'skitse af hvad jeg skal bruge hjælp til... problemet er, at når jeg starter timeren, og intervallet er gået, så 'trigger' den ikke min TrigTimer-procedure... Hvorfor?
Annonceindlæg fra Partnertekst
Jeg sagde det kun var en skitse... Problemet er ikke simi-kolon-fejl, og triggeren er sat til 30000 ms Problemet er, at den ikke trigger min funktion når tiden er gået
Dette her virker og er testet... Du får en bunke messageboxe tormork -> enable sættes default til true i TTimer.Create unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls; type TForm1 = class(TForm) Timer1: TTimer; procedure FormCreate(Sender: TObject); private public end; TEnClass = class private procedure TrigTimer(Sender: TObject); end; var Form1: TForm1; TheTimer: TTimer; Hej: TEnClass; implementation {$R *.DFM} procedure TEnClass.TrigTimer(Sender: TObject); begin ShowMessage('hej'); end; initialization Hej := TEnClass.Create; TheTimer := TTimer.Create(nil); TheTImer.Interval := 5000; TheTimer.OnTimer := Hej.TrigTimer; end.