Makale numarası: 190952 - Son Gözden Geçirme: 12 Ocak 2007 Cuma - Gözden geçirme: 4.0

Yeni bir Visual Basic 6.0 denetimleri kullanmak için Yükseltme projesi

Sistem İpucuBu makale, kullandığınızdan farklı bir işletim sistemine yöneliktir. Sizinle ilgili olmayabilecek makale içeriği devre dışı bırakıldı.
Hepsini aç | Hepsini kapa

Belirtiler

Aşağıdaki denetimler, bir Visual Basic 5.0 projesi, Visual Basic 6.0 tarafından yüklendiğinde otomatik olarak güncelleştirilmez:
  • Comctl32.ocx
  • Comct232.ocx
  • Mschart.ocx
Yeni Visual Basic 6.0 denetimleri için projeyi el ile yükseltme yapmanız gerekir:
  • Mscomctl.ocx
  • Mscomct2.ocx
  • Mschrt20.ocx
Not: Bu denetimleri otomatik olarak yükseltilir Visual Basic belgelerindeki "Yükseltme uygulamalar, Windows ortak denetimleri kullan" konu yanlış belirtir. Özellikle, aşağıdaki hata şunlardır:
Visual Basic sürüm 5 ile oluşturulmuş ve bu denetimler - kullanarak bir uygulama - Visual Basic 6 sürümü ilk yüklendiğinde, yeni bir sürümünün kullanılabilir olduğunu bildiren ve denetimleri yükseltilmesi bir iletişim kutusu görüntülenir. Bu sırada, projenin yeni denetimlere yükseltmeyi seçin veya denetimin eski sürümler kullanmaya devam.

Neden

Bu davranış tasarım yüzündendir. Yeni denetimlere eski sürümleriyle geriye dönük uyumlu değildir ve COM kurallarına uygun olarak, yeni dosya adları ve yeni Guıd ile verilen. Bu, uygulamanın eski denetimleri kullanan varolan uygulamaların kesiliyor engeller. Yeni denetimlere de yeni adlar ve Guıd olduğundan, bunlar yeni TypeLibs de vardır. Bir Visual Basic projesi yüklediğinizde, tür kitaplığı sürümü denetleme. Ancak, Visual Basic denetimleri güncelleştirildi, Tür Kitaplığı'Yeni denetimler için Tür Kitaplığı'eski denetimler için'den farklı bir GUID olduğundan bilmez.

Çözüm

El ile projenize bir proje, yeni bir sürüme yükseltmek için <a0></a0>, güncelleştirme ve dosyaları. Bunu yapmak için şu adımları izleyin:
  1. Not Defteri gibi bir metin düzenleyicisinde .vbp dosyasını açın ve aşağıdaki .ocx eski sürümüne başvuran satırlarını değiştirin:
          Object={831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0; MSCOMCTL.OCX
          Object={86CF1D34-0C5F-11D2-A9FC-0000F8754DA1}#2.0#0; MSCOMCT2.OCX
          Object={65E121D4-0C60-11D2-A9FC-0000F8754DA1}#2.0#0; MSCHRT20.OCX
    
    					
  2. Kaydedip .vbp dosyayı kapatın.
  3. Tüm .frm dosyası (veya .ctl dosyası) açın, bu denetimlerden biri, bir metin düzenleyicisinde kullanır ve eski sürümünü aşağıdaki .ocx başvuran satırlarını değiştirin:
        Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCTL.OCX"
        Object = "{86CF1D34-0C5F-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCT2.OCX"
        Object = "{65E121D4-0C60-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCHRT20.OCX"
    
    					
  4. Yeni kitaplık adlarına eski kitaplıkları başvuran tüm metinleri değiştirin. ComCtlLib Comctl2 ve MSChartLib MSComCtlLib MSComCtl2 ve MSChart20Lib ile değiştirmeniz gerekir. Örneğin:
           ComctlLib.ImageList
    
       To:
    
           MSComctlLib.ImageList
    
    					
  5. Dosyayı kaydedip kapatın. Proje Visual Basic 6.0 ile açtığınız yeni Mscomctl.ocx, <a2>Mscomct2.ocx</a2> veya <a4>Mschrt20.ocx denetimler kullanır.
Notları
  • Önemli .vbp, .frm veya .ctl dosyaları düzenlemeden önce tüm dosyaları Projenizde yedek.
  • Listelenen nesneleri benzer 1 ve 2 numaralı adımı, aynı değil ve yükseltmenin her tam olarak doğru dosyaya kopyalanmaz, düzgün çalışmayacak.
  • Projeyi yüklemeye çalıştığınızda, üstbilgisi bozuk olduğunu bildiren bir ileti alırsanız, büyük olasılıkla bir kopyalama hatası yaptınız. Lütfen, yedekleme için gidin ve işlemi yineleyin.
  • Eski sürümler bu denetimleri kullanmaya devam etmek isterseniz, Comctl32.ocx ve Comct232.ocx üzerinde Visual Basic 6.0 ürün CD-ROM'u \OS\System dizininde bulunur. Mschart32.ocx \Common\Tools\VB\Controls dizininde bulunur.

Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Visual Basic 6.0 Learning Edition
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Basic Enterprise Edition for Windows 6.0
Anahtar Kelimeler: 
kbmt kbcomctrls kbprb KB190952 KbMttr
Otomatik TercümeOtomatik Tercüme
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:190952  (http://support.microsoft.com/kb/190952/en-us/ )