Master ve Detail Tabloların state'lerinin aynı kalması
hdayi10.03.2004 - 08:13:01
Merhaba,
bir master ve iki adet buna bağlı detail tablom var. İçlerinden herhangi biri edit moduna geçtiğinde diğerleri de geçsin istiyorum.

Kafam durdu. :(
 
fahrettin10.03.2004 - 08:48:25
hepsinin afteredit eventine diger ikisi için Tablex.Edit seklinde kod yazmaniz yeterli..
 
hdayi10.03.2004 - 09:07:54
Teşekkürler,
Halloldu ancak bir sorum olacak. Ben beforeedit'e yazmıştım kodu, döngüye girip "stack overflow" diye bir hata veriyordu.
Afteredit'e yazınca sorun halloldu. Neden, afteredit'te olmasının farkı ne?
Örnek olarak tablonun biri için yazdığım kod:

procedure Tdm.tblnikahAfterEdit(DataSet: TDataSet);
begin
if not(tblerkek.State in [dsedit]) then tblerkek.Edit;
if not(tblkadin.State in [dsedit]) then tblkadin.Edit;
end;
 
fahrettin10.03.2004 - 11:13:09
Cunku 1. tabloya edit yapilmadan once diger iki tabloyu da edit moduna gecirmeye calisiyordunuz... Dolayisiyla hemen 2. ve 3. tablonunda beforeeditleri calisiyordu. Oradaki kodlar da diger iki tabloyu yani 1. taqbloyu edit moduna getirmeye calisiyordu. yaptiginiz state kontrolu henuz 1. tablo edit moda gecmedigi icin ise yaramiyor ve 1. tablonun edit modu tekrar calisiyor. Tabi diger tablolarin edit motodlarini tekrar cagiriyor derken bu booooyle surup gidiyor.... taaaki stack dolup da oferflow olana kadar... Yani klasik tabiriyle kısır donguye giriyor program... Bu 3 evente breakpoint koyarsanız bu kısır donguyu topun nasıl oradan oraya atıldıgını da gorebilirsiniz....

Kolay gelsin..
 
NOT : Bu sayfa google'un siteyi indekslemesi içindir. www.delphiturkiye.com/forum/ adresini kullanınız!
1998-2006 www.delphiturkiye.com