Konu: Shortcut menü sadece 1x çalışıyor
Merhabalar
Aylardır bir sorun yaşıyorum. Daha doğrusu: benim makinemde sorun yok, ama tüm müşterilerde bu sorun var.
Bir grid üzerinde sağ-klik yaparak ve DEFINE POPUP ile yaratığım shortcut-menü'yü çağırıyorum. Sub-menüler içeren birşey.
Sorunsuz açılıyor, sorusuz çalışıyor.
Ama: İkinci kes sağ-klik bir tepki vermiyor. Form'u kapatıp tekrar açmak lazım.
İşin "güzel" tarafı: benim makinemde böyle bir sorun yok ve bu nedenle bir süredir bulanık suda balık avlar gibi "onu-dene-bunu-dene" yöntemi ile bir yerlere varmaya çalışdım. Denemeler sürüyor
Bu denemelerin birsi daha basit bir shortcut menü'yü Vfp'nun IDE 'si ile yaratmak ve onu DO Test.MPR ile çağırmak idi. Bu durumda sorun ortadan kalkıyor. Ama çok fazla şey değiştirmem gerekiyor ve bu nedenle bu çözüm en son seçenek olarak ortada duruyor.
Grid'in RightClick() event'ında Thisform.babs_ole_rightclick() isimli bir method çağrıyorum (nedeni: birkaç grid aynı rightclick menüsünü kullandıklar için)
Thisform.babs_ole_rightclick():
LPARAMETERS COL, ROW
LOCAL cWith, nId_Nr, nGesendet, nKnr_id_nr, nAntw, cTxt, cUnvan, oText
LOCAL cDonem, lExtern, lDoNotReload, nSql, cSql, nRow
LOCAL sMenu, sSil, sMutabakatGeldi, sFaksIleGeldi, sEpostaIleGeldi, sTelefonIleGeldi
DEACTIVATE POPUP sMenu, sSil, sMutabakatGeldi, sFaksIleGeldi, sEpostaIleGeldi, sTelefonIleGeldi
RELEASE POPUPS sMenu, sSil, sMutabakatGeldi, sFaksIleGeldi, sEpostaIleGeldi, sTelefonIleGeldi EXTENDED
WITH THISFORM.PgFrame.Pg01
cDonem = .cmbJahr.VALUE + "-" + .cmbMonat.VALUE
ENDWITH
STORE 0 TO nId_Nr, nKnr_id_nr, nGesendet, nAntw
DEFINE POPUP sMenu SHORTCUT RELATIVE FROM MROW(),MCOL()
DEFINE BAR 1 OF sMenu PROMPT "Sil"
DEFINE BAR 2 OF sMenu PROMPT "Mutabakat geldi"
DEFINE BAR 3 OF sMenu PROMPT "Seç"
ON BAR 1 OF sMenu ACTIVATE POPUP sSil
ON BAR 2 OF sMenu ACTIVATE POPUP sMutabakatGeldi
ON BAR 3 OF sMenu ACTIVATE POPUP sSelect
DEFINE POPUP sSil SHORTCUT RELATIVE
DEFINE BAR 1 OF sSil PROMPT "Sadece satırı sil"
DEFINE BAR 2 OF sSil PROMPT "Satırı ve satıcıyı sil"
DEFINE BAR 3 OF sSil PROMPT "Tüm satırları sil"
ON SELECTION BAR 1 OF sSil nAntw = 10 + BAR()
ON SELECTION BAR 2 OF sSil nAntw = 10 + BAR()
ON SELECTION BAR 3 OF sSil nAntw = 10 + BAR()
DEFINE POPUP sMutabakatGeldi SHORTCUT RELATIVE
DEFINE BAR 1 OF sMutabakatGeldi PROMPT "Faks ile"
DEFINE BAR 2 OF sMutabakatGeldi PROMPT "Eposta ile"
DEFINE BAR 3 OF sMutabakatGeldi PROMPT "Telefon ile"
DEFINE BAR 4 OF sMutabakatGeldi PROMPT "Sıfırla"
ON BAR 1 OF sMutabakatGeldi ACTIVATE POPUP sFaksIleGeldi
ON BAR 2 OF sMutabakatGeldi ACTIVATE POPUP sEpostaIleGeldi
ON BAR 3 OF sMutabakatGeldi ACTIVATE POPUP sTelefonIleGeldi
ON SELECTION BAR 4 OF sMutabakatGeldi nAntw = 20 + BAR()
DEFINE POPUP sFaksIleGeldi SHORTCUT RELATIVE
DEFINE BAR 1 OF sFaksIleGeldi PROMPT "Mutabıkız"
DEFINE BAR 2 OF sFaksIleGeldi PROMPT "Mutabık değiliz"
ON SELECTION BAR 1 OF sFaksIleGeldi nAntw = 30 + BAR()
ON SELECTION BAR 2 OF sFaksIleGeldi nAntw = 30 + BAR()
DEFINE POPUP sEpostaIleGeldi SHORTCUT RELATIVE
DEFINE BAR 1 OF sEpostaIleGeldi PROMPT "Mutabıkız"
DEFINE BAR 2 OF sEpostaIleGeldi PROMPT "Mutabık değiliz"
ON SELECTION BAR 1 OF sEpostaIleGeldi nAntw = 40 + BAR()
ON SELECTION BAR 2 OF sEpostaIleGeldi nAntw = 40 + BAR()
DEFINE POPUP sTelefonIleGeldi SHORTCUT RELATIVE
DEFINE BAR 1 OF sTelefonIleGeldi PROMPT "Mutabıkız"
DEFINE BAR 2 OF sTelefonIleGeldi PROMPT "Mutabık değiliz"
ON SELECTION BAR 1 OF sTelefonIleGeldi nAntw = 50 + BAR()
ON SELECTION BAR 2 OF sTelefonIleGeldi nAntw = 50 + BAR()
DEFINE POPUP sSelect SHORTCUT RELATIVE
DEFINE BAR 1 OF sSelect PROMPT "Gönderilmeyenleri seç"
DEFINE BAR 2 OF sSelect PROMPT "Cevap vermeyenleri seç"
ON SELECTION BAR 1 OF sSelect nAntw = 60 + BAR()
ON SELECTION BAR 2 OF sSelect nAntw = 60 + BAR()
*-------------------
ACTIVATE POPUP sMenu
Burdan itibaren nAntw isimli değişken analiz ediliyor ve gereken method'lar çağrılıyor.
Hatamı veya çözümü gören varmı?