IbEvents mesaj yakalama problemi
IbEvents mesaj yakalama problemi
Arkadaşlar Merhaba
Çok uğraşdım ama sonuç alamadım. Interbase veritabanında hazırladığım bir tablonun After Insertine bir trigger yazdım ve post_event ile bir mesaj gönderdim ama Delphide IBevents componentin OnEventAlert yordamında mesajı yakalayamıyorum. Öncelikle trigger tetiklenmiyor diye düşündüm ama diğer tüm triggerlar tetikleniyor. Ayrıca delphinin kendi demolarında bile IbEvents mesajı yakalamıyor. Yardımcı olursanız sevinir..
Delphi7,Interbase 6.5 ve IBx componentlerini kullanıyorum.
Çok uğraşdım ama sonuç alamadım. Interbase veritabanında hazırladığım bir tablonun After Insertine bir trigger yazdım ve post_event ile bir mesaj gönderdim ama Delphide IBevents componentin OnEventAlert yordamında mesajı yakalayamıyorum. Öncelikle trigger tetiklenmiyor diye düşündüm ama diğer tüm triggerlar tetikleniyor. Ayrıca delphinin kendi demolarında bile IbEvents mesajı yakalamıyor. Yardımcı olursanız sevinir..
Delphi7,Interbase 6.5 ve IBx componentlerini kullanıyorum.
İlimle geçen bir gece,
ibadetle geçen bin geceden hayırlıdır. HZ. MUHAMMED (S.A.)
ibadetle geçen bin geceden hayırlıdır. HZ. MUHAMMED (S.A.)
bunu bulmak bana 1 haftaya mal olmuştu. POST_EVENT dan sonra commit; etmezsen event generate edilmiyor.
Delphi içindede Event alerter a register ettiğin stirngler aynı olmak sorunda case sensetive vardır yani
Kolay gele
Delphi içindede Event alerter a register ettiğin stirngler aynı olmak sorunda case sensetive vardır yani
Kolay gele
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Merhaba,
bendeki yukarıda olduğu gibi EVENT ı delphiden yakalayamıyorum, bunun nedenin COMMIT olduğunu söylediniz bende TRIGGER i şu şekilde değiştirdim,
fakat bu trigger i derleyemeyiroum COMMIT satırında sorun çıkartıyor.
benmi yanlış anladım acaba COMMIT komutunu nasıl kullanmalıyım.?
teşekkürler.
bendeki yukarıda olduğu gibi EVENT ı delphiden yakalayamıyorum, bunun nedenin COMMIT olduğunu söylediniz bende TRIGGER i şu şekilde değiştirdim,
Kod: Tümünü seç
CREATE TRIGGER TRG_DENEME FOR TBTEST ACTIVE
AFTER INSERT POSITION 0
AS
BEGIN
POST_EVENT 'DENEME_OLAYI';
COMMIT;
END
benmi yanlış anladım acaba COMMIT komutunu nasıl kullanmalıyım.?
teşekkürler.
Volkan KAMADAN
www.polisoft.com.tr
www.polisoft.com.tr
trigger a yazdıgınızda tablo islemini (ekleme,edit yada silme) commit ettiginizde triggerdaki islemin de commit olması lazım
mesela ben bir kayıtı sildigimde silme triggerında ilgili kaıtın detaillerini de siliyorum islemi roolback ettigimde hicbirsey silinmiyor, commit edince siliniyor
bunun gibi calısması lazım.
mesajı yakalayamama problemi mesaj textlerinin uyusmamasından kaynaklanabilir. post event a yazdıgınız stringi ibevent a eklemelisiniz.
mesela ben bir kayıtı sildigimde silme triggerında ilgili kaıtın detaillerini de siliyorum islemi roolback ettigimde hicbirsey silinmiyor, commit edince siliniyor
bunun gibi calısması lazım.
mesajı yakalayamama problemi mesaj textlerinin uyusmamasından kaynaklanabilir. post event a yazdıgınız stringi ibevent a eklemelisiniz.
ÜŞENME,ERTELEME,VAZGEÇME
merhaba,
evet sorun dediğiniz yöntemle çözüldü,
fakat bişi sormak istiyorum AOTUCOMMIT yönetimde niçin TRIGGER lar tetiklenmez VT ye kayıt yapıldığı halde.
Teşekkürler.
evet sorun dediğiniz yöntemle çözüldü,
fakat bişi sormak istiyorum AOTUCOMMIT yönetimde niçin TRIGGER lar tetiklenmez VT ye kayıt yapıldığı halde.
Teşekkürler.
Volkan KAMADAN
www.polisoft.com.tr
www.polisoft.com.tr
- pentiumkivanc
- Üye
- Mesajlar: 350
- Kayıt: 19 Şub 2004 10:24
- İletişim:
Ben büyük küçük harf ayrımını da normal yaptırıyorum ama yine de delphi tarafında mesaj yakalanamıyor. IB 6.0 da yapıyordum belki ondandır dedim kaldırıp FB kurdum aynı, acaba trigger damı sorun var dedim ama FB tarafında trigger kusursuz çalışıyor. Örneğin kayıt yapılırken xx tablosuna da kaydet gibi, fakat delphiden post mesajı yakalamaya çalışınca olmuyor.
Bu konuda bende çok yeniyim. Ben Form açılışına IBEvents1.RegisterEvents; kodunu ekleyerek mesajı yakalayabildim.
Kolay Gelsin...
Kod: Tümünü seç
if not IBEvents1.Registered then
IBEvents1.RegisterEvents;
Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
- pentiumkivanc
- Üye
- Mesajlar: 350
- Kayıt: 19 Şub 2004 10:24
- İletişim:
ibEvent register olmamışsa Register et. Ben bu mantıkla yazdım.pentiumkivanc yazdı:Acaba bu kodun işlevi hakkında bilgi verebilirmisiniz
AutoRegister True olduğu halde yukarıdaki kodu yazmadan yakalayamadım.
Kolay Gelsin...
Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Merhaba arkadaşlar
Bu IBEvent bileşeni ile post_event'den gelen mesajı delphi tarafında yakalama işi ile bir haftadır uğraşıyorum, yazılan mesajların hepsini okudum ve doğru uyguladım ama hala bu mesajı delphi tarafında yakalayamıyorum. Daha doğrusu eventalert procedure'ünü hiç okumuyor delphi, sanki bu procedure hiç yazılmamış gibi atlıyor.
(Delphideki form üzerine IBEvents'i yerleştirdim. Kayıt güncelleme (after update) triggerinde
post_event 'Kayıt güncellendi';
şeklinde triggeri oluşturdum. Mesajı aynen alıp IBEvents'in Events kısmına ekledim, afterconnect'de registerevents olayını yaptım. AutoRegister özelliğini dahi true yaparak denedim ama olmuyor, eventalert procedure'ünde commitretaining de yaptırmak istiyorum ama bu procedure'ü hiç okumadığı için bir anlamı olmuyor. Gözümden kaçan nedir bulamıyorum.
Bu IBEvent bileşeni ile post_event'den gelen mesajı delphi tarafında yakalama işi ile bir haftadır uğraşıyorum, yazılan mesajların hepsini okudum ve doğru uyguladım ama hala bu mesajı delphi tarafında yakalayamıyorum. Daha doğrusu eventalert procedure'ünü hiç okumuyor delphi, sanki bu procedure hiç yazılmamış gibi atlıyor.
(Delphideki form üzerine IBEvents'i yerleştirdim. Kayıt güncelleme (after update) triggerinde
post_event 'Kayıt güncellendi';
şeklinde triggeri oluşturdum. Mesajı aynen alıp IBEvents'in Events kısmına ekledim, afterconnect'de registerevents olayını yaptım. AutoRegister özelliğini dahi true yaparak denedim ama olmuyor, eventalert procedure'ünde commitretaining de yaptırmak istiyorum ama bu procedure'ü hiç okumadığı için bir anlamı olmuyor. Gözümden kaçan nedir bulamıyorum.
rsimsek hocam;
IBX güncellemelerini 1 ay kadar önce yüklemiştim. 24 Ekim’de.
ibtransaction.defaultaction:=TACommit idi, dediğiniz gibi TACommitRetaining olarak değiştirdim. Diğer parametre Read Commited zaten işaretli durumda idi.
Tekrar denedim sonuç hala aynı.
(Benim transaction ve database’im datamodül üzerinde ancak dataset forum üzerinde bulunuyor, bilemiyorum bu şekilde bir kullanım sorun yaratıyor olabilir mi diye. Gerçi şu ana kadar bir sorun yaşamadım bu konuda ama yine de firebird’de oldukça yeni olduğum için bilemiyorum.
)
IBX güncellemelerini 1 ay kadar önce yüklemiştim. 24 Ekim’de.
ibtransaction.defaultaction:=TACommit idi, dediğiniz gibi TACommitRetaining olarak değiştirdim. Diğer parametre Read Commited zaten işaretli durumda idi.
Tekrar denedim sonuç hala aynı.
(Benim transaction ve database’im datamodül üzerinde ancak dataset forum üzerinde bulunuyor, bilemiyorum bu şekilde bir kullanım sorun yaratıyor olabilir mi diye. Gerçi şu ana kadar bir sorun yaşamadım bu konuda ama yine de firebird’de oldukça yeni olduğum için bilemiyorum.

DataSet in forum veya DataModul üzerinde olması farkettirmez. Başka bir şey olabilir. DataSet olarak ne kullanıyorsunuz? IBDataSet olsun
Onun kullanımı ile ilgili bilgiler forumda var. İsterseniz basit bir deneme projesi oluşturup bu bilgilerle aynı veri tabanı ile deneme yapın 


Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!