Kodunuzun buzunu çözme
Ekip üyelerimizden biri yakın zamanda Windows Vista'da çalışan Excel VBA koduyla ilgili bir sorun fark etti (bu, WindowsXP'de de olan bir şeydir, Windows Vista'da daha belirgindir), bu yüzden yazacağımı düşündüm. Excel ekibinin kolayca çözebileceği türden bir sorun olmasa da, kısmen insanların bu durumu nasıl ele aldığını görmek için oradaki tüm VBA geliştiricilerine bahsetmeye değer bir şey.
Söz konusu davranış, VBA kodu kesintisiz olarak ~5 saniyeden fazla çalıştığında Excel'in nasıl davrandığıdır - örneğin, tamamlanması 5 saniyeden uzun süren bir tür döngü çalıştırıyorsunuz. WindowsXP'de, 5 saniye kadar sonra, kullanıcı herhangi bir şey olup olmadığını görmek için uygulamaya tıklamaya başlarsa, başlık çubuğunda bir “Yanıt Vermiyor” mesajı görecektir (ki bu, pek çok kişinin yaptığı yeterince ince bir değişikliktir). fark etmez bile). ("Yanıt Vermiyor" ifadesinin ortaya çıkmasıyla ilgili koşullar bundan biraz daha karmaşık olabilir, ancak buna girmeyeceğim çünkü bu tartışma bağlamında gerçekten önemli değil.)
Windows Vista'daki davranış, bir istisna dışında aynıdır: Windows çalışanları, bir uygulama “yanıt vermediğinde” bunu kullanıcıya daha açık hale getirmek için çalışmalar yapmıştır. Spesifik olarak, "buzlanma" adı verilen bir davranışları vardır; bu, kullanıcı pencerenin etrafında tıklamaya başladığında, tüm pencerenin (kuzey iklimlerinde bulunanlarınızın don olarak tanıyacağı) bu yarı saydam görünümü aldığı anlamına gelir. anormal bir şey olduğu gerçeğine kullanıcı. (Yine, bundan daha fazlası var ve bir uygulamanın yanıt vermediği düşünüldüğünde kontrol eden kod, Windows XP ve Windows Vista arasında değişti, ancak bu tartışmanın amaçları doğrultusunda ayrıntılara girmeyeceğim.)