Hangi olayın Çalıştığını Bulmak

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
ssteeltr
Üye
Mesajlar: 135
Kayıt: 08 Nis 2005 03:41
Konum: Kayseri

Hangi olayın Çalıştığını Bulmak

Mesaj gönderen ssteeltr »

Arkadaşlar bir programda script kullanıyoryum şöyleki;
bilgi girişi yapılan editlerin onclick-onenter-ochange vb olaylarına kullanıcı dışarıdan script yazabiliyor. özelliklere hesaplama işlemleri için
dolayısıyla ben runtime da

Kod: Tümünü seç

edit1.onclick:=RunScript;
edit1.onEnter:=RunScript;
edit1.ochange:=RunScript;
kodlarını yazıyorum.

Tam bu noktada sorum şu RunScript 'i hangi olay çağırdı?
Malumunuz :procedure RunScript (Sender::TObject);şeklinde.

Saygılarımla.
Süleyman Çelik
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: Hangi olayın Çalıştığını Bulmak

Mesaj gönderen sabanakman »

Bunu bir kod içinden anlamak pek mümkün olmayabilir ama yapıyı değiştirerek anlayabilirsin.

Kod: Tümünü seç

edit1.onclick:=RunScript;
edit1.onEnter:=RunScript;
edit1.ochange:=RunScript;
yerine

Kod: Tümünü seç

edit1.onclick:=RunClick;
edit1.onEnter:=RunEnter;
edit1.ochange:=RunChange;
.
.
.
procedure TForm1.RunClick(Sender:TObject);
begin
  //burada click olduğu anlaşılır
  RunScript(Sender);
end;

procedure TForm1.RunEnter(Sender:TObject);
begin
  //burada da enter
  RunScript(Sender);
end;

procedure TForm1.RunChange(Sender:TObject);
begin
  //e burası da change :)
  RunScript(Sender);
end;

procedure TForm1.RunScript(Sender:TObject);
begin
//Orjinal prosedürünün kodları
end;
gibi bir yapıda bunu anlayabilirsin.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Kullanıcı avatarı
dabaddah
Üye
Mesajlar: 167
Kayıt: 13 Mar 2008 04:42
Konum: istanbul

Re: Hangi olayın Çalıştığını Bulmak

Mesaj gönderen dabaddah »

additional tabında applicationevents nesnesi var bu nesne uygulamanla ilgili bütün olayları kapsar bu nesneyle uygulamanda ki bütün olayları yakalayabilirsin

uygulaması hakkında pek bir bilgim yok ama ben bu nesneyi kendi projemde f2 ile kayıt yapmak f3 ile yeni kayıt açmak esc tuşu ile sayfayı kapatmak gibi olaylarda kullanmıştım...

ve bildiğim kadarıylada uygulamanda oluşan bütün hataları ve bu hataların hata kodları yakalabilirsin.

ben kendi uygulamamda kullandığım kodu göndereyim belki işine yarar...

Kod: Tümünü seç

if Msg.CharCode=27 then acilis.Close;//esc tuşuna basıldıysa acilis isimli formu kapat
bu kodu applicationevents nesnesinin onshortcut olayına yazmıştım ve çalışmıştı....

bu nesneyle ilgili nette ve forumda bir sürü bilgi bulabilirsin...

eğer elinde zeydin pala ve ihsan karagüllenin delphi 7 isimli kitabı varsa bu kitabın 399'uncu sayfasında da detaylı bilgi var....

çalışmalarınızda başarılar dilerim allah kolaylık vere.
insanın özü tanımasına engel olan perdeleri;
1.kendini beden sanma
2.vehmî benlik
3.beş duyu blokajları
4.toplumsal şartlanmalar ve şartlanmaların oluşturduğu değer yargıları ve değer yargılarından gelen duygular
kişi bu perdelerden arınmadıkça göresel kozasında yaşar ve bir ipek böceği gibi kaynar kazana atılır.
Cevapla