TTimer ı Unit içinde kullanımı...

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
sertkayasalih
Üye
Mesajlar: 178
Kayıt: 12 Haz 2003 12:47
Konum: Antalya
İletişim:

TTimer ı Unit içinde kullanımı...

Mesaj gönderen sertkayasalih »

Herkese Merhaba,

- Değerli arkadaşlarım, TTimer bileşenini görsel olmayan ünit içersinde kullanmak istiyorum!

Kod: Tümünü seç

unit kontrol01;

interfase

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, stdctrls, ExtCtrls,uTumKontrol;

type Kont = class(TumKontrol)

    private
       ......
    public
       Zaman : TTimer;
       constructor Create; override;
       destructor  Destroy; override;
       procedure ayarla;
       procedure Kontrol(Sender: TObject);
       ...
   end;

implementation

constructor Kont.Create;
begin
   inherited Create;
   Zaman := TTimer.Create(Self);
   ayarla;
end;

destructor Kont.destroy;
begin
  inherited Destroy;
  Zaman.Free;
end;

procedure Kont.ayarla;
begin
   Zaman.Interval := 1000;
   Zaman.Enabled := False;
   Zaman.OnTimer := Kontrol(???); // Burda hata veriyor.....
end;

procedure Kont.Kontrol(Sender: TObject);
begin
  //...
end;

...

end.
- Yukardaki kod diziliminde Zaman.OnTimer event ına Kontrol prosedürünü bağlamak istiyorum.

Unit içerisinde görsel Form kullanılmadığı için ilk defa böyle bir durumla karşılaşıyorum.

Bir kaç deneme yaptım olmadı! Forumda arama yaptım, benzer konuya rastlamadım. Arama sonuçları hep TTimer ın Form üzerinde kullanımıyla ilgili.

- Yukardaki kod diziliminde Zaman.OnTimer event ına Kontrol prosedürünü bağlamak mümkün mü?

Yardımcı olan herkese çok teşekkür ederim :-)
Bilgi; iki tarafı keskin kılıca benzer.
İyi kullanılmazsa, ya karşıyı, ya da sahibini
keser.
Kullanıcı avatarı
hdayi
Kıdemli Üye
Mesajlar: 1284
Kayıt: 29 Oca 2004 01:53
Konum: Erciyes'in eteklerinden.

Mesaj gönderen hdayi »

Kod: Tümünü seç

    zaman:=TTimer.Create(Self);
    zaman.OnTimer:=Kontrol;
herhangi bir nesneyi creat ettikten sonra, olaylarına gerekli prosedürleri ataman gerek. Ancak şuna dikkat etmek lazım: prosedureleri çağırırken gönderilen parametreler uygun olmalı. Burada kullanmıyor olsan bile kontrol procedure'ünü çağırırken TObject türünden bir parametre göndermen lazım.
Yani:
Diyordum ki zaten öyle yapmışsın. :)
Kolay Gelsin...
Bişnev in ney çün hikâyet mîküned
Ez cüdâyîhâ şikâyet mîküned
Resim
Kullanıcı avatarı
sertkayasalih
Üye
Mesajlar: 178
Kayıt: 12 Haz 2003 12:47
Konum: Antalya
İletişim:

Mesaj gönderen sertkayasalih »

Merhaba hdayi,

- Cevap ve ilgin için çok teşekkür ederim.

- Yazdığınız gibi uyguladım, netice başarılı oldu!
Bilgi; iki tarafı keskin kılıca benzer.
İyi kullanılmazsa, ya karşıyı, ya da sahibini
keser.
Cevapla