İlginç bir durum

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
m_ekici
Kıdemli Üye
Mesajlar: 563
Kayıt: 11 Haz 2003 06:49
Konum: Adana
İletişim:

İlginç bir durum

Mesaj gönderen m_ekici »

s.a.

2 gündür kafayı yedim bulamadım. Formda Bir RxDBGrid im var. altında da panel içerisinde EKLE,DEĞİTİR butonlarım ve Gride bağlı bir popup menüm var . Bu popup menu de de yine Ekle ve değiştir seçenekleri var. BitBtn1 (EKLE) ile Popup Menudeki EKLE 'nin on click olayıda aynı paragrafı gösteriyor. (BitBtn1Click). O paragrafta da herhangi bir kontrol yok sadece DATA_.insert işlemi var.

Kod: Tümünü seç

procedure TForm9.BitBtn1Click(Sender: TObject);
begin
DATA_.Insert;
PANELAC;
end;


Amaaa problem şu BitBtn 'a bastığımda yeni kayıt eklenip boş DBEditler boş halde geliyor. Popup tan bastıımda yine aynı paragrafa gelmesine rağmen (satır satır çalıştırıp baktım.) DATA_ insert komutundan sonra DBeditler dolu olarak geliyor. Bu neden olabilir?

(F7 ile satır satır çalıştırdığımda function TRxDBGrid.CanEditShow: paragrafından geri dönüyor.)
Kullanıcı avatarı
nitro
Üye
Mesajlar: 1112
Kayıt: 23 Ağu 2004 01:18
Konum: Çanakkale
İletişim:

Mesaj gönderen nitro »

Gridi tıkladığın zaman (sağ veya sol) tablo tıklanan kayda konumlanıyor;
yani bence bahsettiğin olay popup menü ile olmaz;
yani olur da gride bağlı bir popup menü ile olmaz;
insert yerine append kullanmayı da bi dene bence;
Kullanıcı avatarı
m_ekici
Kıdemli Üye
Mesajlar: 563
Kayıt: 11 Haz 2003 06:49
Konum: Adana
İletişim:

Mesaj gönderen m_ekici »

Append da denedim.

Formda bunun gibi 4 farklı form var. 4 ünde aynı hatayı yapıyor. Bence ;

Kod: Tümünü seç

function TRxDBGrid.CanEditShow: Boolean;
var
  F: TField;
begin
  Result := inherited CanEditShow;
  F := nil;
  if Result and (Datalink <> nil) and Datalink.Active and (FieldCount > 0) and
    (SelectedIndex < FieldCount) and (SelectedIndex >= 0) and
    (FieldCount <= DataSource.DataSet.FieldCount) then
  begin
    F := Fields[SelectedIndex];
    if F <> nil then Result := GetImageIndex(F) < 0;
  end;
  if Result and Assigned(FOnShowEditor) then
    FOnShowEditor(Self, F, Result);
end;
burada birşeler oluyor.
Cevapla