'Idle olayı' nedir? Nasıl yapılır?

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
ulu coder
Üye
Mesajlar: 838
Kayıt: 01 Nis 2006 06:46
Konum: Ankara

'Idle olayı' nedir? Nasıl yapılır?

Mesaj gönderen ulu coder »

'Idle olayı' diye bi şey vardı, hani biz hiç bir işlem yapılmazken timer kullanıp bi şeyleri kontrol ediyoruz ya, timer kullanmak yerine bu yöntemi kullanıyorduk, program boştayken burdaki kodlar işliyordu.
Var mı hatırlayan?
Hakan Can
Üye
Mesajlar: 634
Kayıt: 04 Mar 2005 04:27
Konum: Ankara

Mesaj gönderen Hakan Can »

Component palet'in "Additional" sekmesinde TApplicationEvents componentinde OnIdle eventi var.

İyi çalışmalar.
ulu coder
Üye
Mesajlar: 838
Kayıt: 01 Nis 2006 06:46
Konum: Ankara

Mesaj gönderen ulu coder »

Teşekkürler fakat şunu farkettim, kodlar sadece fare hareket etiğinde veya bir tuşa basıldığında çalışıyor. Timer'ın yerini tutmuyor :(
Hakan Can
Üye
Mesajlar: 634
Kayıt: 04 Mar 2005 04:27
Konum: Ankara

Mesaj gönderen Hakan Can »

OnIdle eventi üzerinde helpi açarsanız gerekli açıklamalar var.

Gerçi Timer ile niye kıyaslıyorsunuz anlamadım. Daha doğrusu ne yapmak istediğinizi belirtmediğiniz için yorum yapamıyorum. İkisi birbirine benzese de sonuçta farklılar.

Aslında Timer'ın Interval'ini küçük tutarsanız bir nevi OnIdle gibi çalışır.

İyi çalışmalar.
Kullanıcı avatarı
nitro
Üye
Mesajlar: 1112
Kayıt: 23 Ağu 2004 01:18
Konum: Çanakkale
İletişim:

Mesaj gönderen nitro »

Benim de bi sorunum var. program arada bir vertabanını kapatıp açsın istiyorum. hani elektrikler falan giderse diye. ama bu işlem için kullanıcının bilgisayarı kullanmadığı zamanı uygun gördüm. bu iş bu idle olayı ile olur mu acep?
ulu coder
Üye
Mesajlar: 838
Kayıt: 01 Nis 2006 06:46
Konum: Ankara

Mesaj gönderen ulu coder »

Gördüğüm kadarıyla buraya yazdığımız kodlar fare formun üzerinden geçtiğinde ve form gözükürken (aktif olması önemli değil) bir tuşa basıldığında çalışıyor. Bu nedenle senin de işine yaramayacak sanırım.
Başka hangi durumlarda çalıştığını test etmek isterseniz, kullandığım yöntemi söyleyeyim;
Form1'in başlığını bir yaptım, OnIdle yordamına da form1'in başlığını bir arttır dedim.

Ben de programların haberleşmesi için kullanacaktım. Programlar bir dosya oluşturacaklardı ve diğer programların dosya oluşturup oluşturmadıklarını kontrol edeceklerdi.
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

nitrokonat yazdı:Benim de bi sorunum var. program arada bir vertabanını kapatıp açsın istiyorum. hani elektrikler falan giderse diye. ama bu işlem için kullanıcının bilgisayarı kullanmadığı zamanı uygun gördüm. bu iş bu idle olayı ile olur mu acep?
Sanırım aradığın bu; viewtopic.php?p=85104 "arada bir" dediğin süreli bir Timer oluşturup, arkadaşların dediği gibi her tetiklenmede kapatıp açarsın. Dolaysıyla herhangi bir fare veya klavye hareketinde sıfırlanmış olur. Aksi halde yani herhangi bir hareket/aksiyon olmamışsa Timer.OnTimer da da veritabanını kapatıp açabilirsin :wink:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Demitri

Mesaj gönderen Demitri »

nitrokonat yazdı:Benim de bi sorunum var. program arada bir vertabanını kapatıp açsın istiyorum. hani elektrikler falan giderse diye. ama bu işlem için kullanıcının bilgisayarı kullanmadığı zamanı uygun gördüm. bu iş bu idle olayı ile olur mu acep?
eğer interbase, frebird benzeri veritabanı kullanırsan transaction özelliği senin sorunu halleder.
yok eğer paradox, dbase vb. kullanıyorsan.
post ettiğinde kapatıp açmasını sağlayabilirsin.
Kullanıcı avatarı
nitro
Üye
Mesajlar: 1112
Kayıt: 23 Ağu 2004 01:18
Konum: Çanakkale
İletişim:

Mesaj gönderen nitro »

firebird kullanıyorum, ibtransaction var, ama program ağ üzerinde kullanıldığı için commitretaining komutu yeterli olmuyor.
Cevapla