Kontrol dizilerini kullanmak zorunda olduğunun ötesinde, adlandırılmış denetimlerin sınırı 254'tür. Ama öyle görünüyor ki diziler için de sınırlara ulaştık. Bu mutlak sınırın ne olduğu hakkında bir fikrin var mı?VB 6: Tek bir formda kaç tane denetime sahip olabilirim?
cevap
mutlak sınırı yoktur. Form üzerinde yeterli kontroller yaparsanız, sonunda hafızanız biter. Komut düğmelerini bir kontrol dizisine yükleyen bir test uygulaması yaptım. İlk koşum yaklaşık 6900 düğmede bir "Yetersiz bellek" hatası ile durdu. Birkaç uygulamayı kapattım ve yaklaşık 8200 yükleyebildim. Aynı şeyi metin kutuları ile yaptım ve farklı sonuçlar aldım (yaklaşık 7300 ve 8600 sonrası). Farklı kontroller farklı miktarlarda hafıza tüketir, bu yüzden bir form üzerine koyabileceğiniz tam bir kontrol sayısını belirtmenin bir yolu yoktur.
VB6'da yazılmış bir kayıt yönetim sistemimiz var ve her kaydın kendisiyle ilişkilendirilmiş tam bir veri giriş formu olması gerektiğini bildiren bir kullanıcı arayüzü var (yani diğer pencereleri açamıyorum). Bu politikanın bir sonucu olarak, sistemimizdeki daha karmaşık kayıt türlerinden biri şu anda toplam 659 bireysel kontrolün bir formuna sahiptir. 256 adlı kontrol limitine girdik ve daha sonra kontrollerin birçoğunu zaman içinde dizileri kontrol etmek için dönüştürdük. Son olarak, tüm formdan geçtikten ve kalan birkaç kontrolün kontrol dizilerine dönüştürülmesinden sonra, 5 veya 6 yeni kontrol için odayı sıktık.
Bu, kuralları çiğneymek istediğim bir zamandır, ancak bu, çoklu form yaklaşımı kullanmak için biraz geri çekilmeyi gerektirecektir.
Her halükarda, en az 659 denetime bir formda sığabilir, ancak gerçek mutlak sınırın ne olduğunu asla bulamadım (ve istediğimden emin değilim).
Sanırım zor sınırlara geldiğimizde binden fazlaydık, ancak tam sayıyı bulmaya çalışıyorum, böylece iş analistleri bir sonraki versiyondan ne kadar ham petrol çıkarmaları gerektiğini biliyorlar. –
Form şu anda sınıra yakınsa, şu anda formda kaç kontrolün olduğunu söyleyebilmeniz için _Form_Load_ olayına bir kod ekleyebilirsiniz, örneğin, 'MsgBox Me.Controls.Count'. Daha sonra sınıra ulaşana kadar daha fazla denetim yapmayı deneyebilir ve daha sonra programı çalıştırabilir ve mesaj kutusuna hangi numaraya geri döndüğünüzü görebilirsiniz. –
- 1. Kaç tane S3 kovaya sahip olmalıyım?
- 2. AFNetworking'e tek bir seferde kaç tane resim yüklenebilir
- 3. Kaç tane VBO kullanıyorsunuz?
- 4. Bir dize kaç bayta sahip
- 5. AppDomain başına kaç tane app.config dosyasına sahip olursunuz?
- 6. Kaç tane aktiviteye ihtiyacım var?
- 7. MVP - Kaç tane sunum yapıyor
- 8. Powershell, kaç tane değişiklik yaptınız?
- 9. JavaScript'te kaç tane parametre var?
- 10. Bir etkinliğe kaç tane dinleyicinin bağlandığı sayılır?
- 11. Android kaç tane iş parçacığı gidebilirim?
- 12. node.js içinde kaç tane child_processes fork() yapmalıyım?
- 13. Mathematica'da kaç tane çekirdek paralel çalışıyor?
- 14. Google App Engine’de kaç tane parça kırdı?
- 15. C# Eşdeğeri VB 6 DoEvents
- 16. TCP Yeniden İletim: Kaç tane paket gönderilecek?
- 17. Kaç tane UIApplicationShortcutItems'iniz için bir sınır var mı?
- 18. XNA, kaç tane (düşük poli) model kullanabilir?
- 19. Nöral ağım kaç tane çıkış nöronuna sahiptir?
- 20. Bugün x86'da kaç tane talimat var?
- 21. Bölünmüş Denetime Sahip Çözülemeyen Tanımlayıcı Kullanımı
- 22. Özel formda şablonda tek tek alanlar oluşturma
- 23. Neden bir kullanıcı isteğine sahip olabilirim, dizi boyutu olabilir?
- 24. Projemin Visual Studio'da kaç tane kod içerdiğini nasıl gösteririm?
- 25. Tek bir işlemde Google'ın DataStore (Yüksek Çoğaltma) için kaç tane nesne "çok fazla"?
- 26. Bir dönüşüm olmadan ggplot2'de ölçeklerin kaç tane olduğunu belirterek?
- 27. Bir yöntemde bildirilen statik değişkenlerden kaç tane örnek var?
- 28. Ratchet/Websockets: Bir nesneye kaç tane müşteri abone oluyor?
- 29. Docker | Tüm kapları nasıl kaldırabilirim ama bir kaç tane
- 30. Github'da bireysel hesap için kaç tane kamu deposu yapılabilir
Belki de form tasarımınızı tekrar gözden geçirmelisiniz ... – ceejayoz
Amacım tüm uygulamayı değiştirmek, ancak bunu gece boyunca yapamayız. –
Tam sayı, bu soru için önemli değil, biliyorum, ancak sınır, 256 http://msdn.microsoft.com/en-us/library/aa240865(v=VS.60 yerine 254 olduğunu söylüyor. aspx – MarkJ