Düzeltme: Sekiz veya daha fazla ActiveX DLL derlenmiş proje nedeni hatalı

Makale çevirileri Makale çevirileri
Makale numarası: 192653 - Bu makalenin geçerli olduğu ürünleri görün.
Bu makale arşivlenmiştir. "Olduğu gibi" sunulmaktadır ve bundan sonra güncelleştirilmeyecektir.
Hepsini aç | Hepsini kapa

Bu Sayfada

Belirtiler

Bir <a0>Visual Basic</a0> proje grubu için en az sekiz ActiveX DLL projeler ve bir Standart EXE proje içerir. Proje standart exe DOSYASı oluşturur ve ActiveX DLL dosyaları yayımlamaktadır. Proje grubu, DLL ve EXE dosyalarına derlendi. EXE dosyası çalıştırılır.

Program bir oluşturmak ve ActiveX DLL dosyaları, serbest ilk kez başarıyla çalışır. Ancak, ikinci kez oluştur ve ActiveX DLL dosyaları, serbest bir uygulama hatası oluşuyor ve aşağıdaki iletiyi görüntüler:
Adresindeki yönerge "0x6602c2c5"0x010b008c"adresindeki belleğe başvuruyor. Bellek "yazılamadı".

Durum

Microsoft, bunun bu makalenin başında listelenen Microsoft ürünlerinde bir hata olduğunu onaylamıştır.

Bu hata, Visual Studio 6.0 Service Pack 3'te giderilmiştir. Visual Studio hizmet paketleri hakkında daha fazla bilgi için lütfen aşağıdaki Microsoft Knowledge Base'deki makaleleri bakın:
194022BILGI: Visual Studio 6.0 hizmet paketleri, ne, nerede, neden

194295Nasıl YAPıLıR: Visual Studio 6.0 hizmet paketleri yüklü that haber ver.

Daha fazla bilgi

Yalnızca derlenmiş projeleri Visual Basic IDE dışında çalıştırıldığında hata oluşuyor. Visual Basic IDE proje çalıştırdığınızda hata oluşmaz.

Bu bölüm, hata davranışı gösteren bir örnek proje oluşturulması gösterilmiştir. Bölümünde, ActiveX DLL projeleri, Standart EXE projeler, proje grupları oluşturmak ve bu dosyaları bir yürütülebilir dosyaya derleme alışık olduğunuz varsayılmaktadır.

Davranışı yeniden oluşturma adımları

Örnek Proje standart exe DOSYASı bir projede kullanılan sekiz ActiveX DLL projeleri içeriyor. Standart exe DOSYASı proje, sonra bir yürütülebilir dosyaya derlendi. Daha sonra hata davranışını göstermek için yürütülebilir dosyayı çalıştırın.

Sekiz ActiveX DLL projeleri oluşturmak için <a0></a0>:
  1. Yeni bir proje ActiveX DLL DOSYASı, Visual Basic'te başlatın. Class1, varsayılan olarak oluşturulur.
  2. Class1 <a1>Kod</a1> penceresine aşağıdaki kodu kopyalayın:
    Option Explicit
          Public Sub DoNothing()
    
          End Sub
    					
  3. Bu sınıf modülünde Class1.cls ve bu proje Project1.vbp olarak kaydedin.
  4. Başka bir ActiveX DLL proje için proje grubunu ekleyin. Class1, varsayılan olarak oluşturulur. Class1 sınıf modülünün bu projeden kaldırmak ve Project1.vbp yeni ActiveX DLL DOSYASı için oluşturduğunuz Class1 sınıf modülü Ekle proje.
  5. Bu proje Project2.vbp kaydedin.
  6. Altı diğer ActiveX DLL projelerle Class1 sınıf modülünün aynı proje grubuna eklemek için 5. ve 4 adımları yineleyin.. Bu proje Project3.vbp Project8.vbp ile kaydedin.

    Yalnızca, bir proje grubu için Project8.vbp Project1.vbp olarak kaydedilmiş sekiz ActiveX DLL projelerle oluşturduk. Her ActiveX DLL proje Project1.vbp içinde oluşturulan Class1 sınıf modülüne başvuruyor.

    Sonraki adım, sekiz ActiveX DLL projeleri kullanan bir standart exe DOSYASı proje oluşturmaktır.
Standart exe DOSYASı projeyi oluşturmak için <a0></a0>:
  1. Yeni bir standart exe DOSYASı proje sekiz ActiveX DLL projeler içeren aynı proje grubuna ekleyin. Varsayılan olarak, Form1 oluşturulur.
  2. Bir KomutDüğmesi Form1'e ekleyin.
  3. Aşağıdaki kod <a0>Form1</a0> formunun kod penceresine kopyalama:
    
          Option Explicit
    
          Private Sub Command1_Click()
             Dim o(8) As Object
             Dim i As Integer
             Dim strProgID As String
    
             For i = 1 To 8
                strProgID = "Project" & i & ".Class1"
                Set o(i) = CreateObject(strProgID)
                o(i).donothing
                Set o(i) = Nothing
             Next
             MsgBox "Done"
          End Sub
    					
  4. Projeyi Project9.vbp kaydedin.
  5. Proje başlatılması gibi Project9.vbp ayarlayın. Proje Gezgini'nde, Project9.vbp'ı sağ tıklatın ve sonra da Başlangıç olarak ayarla</a1>'ı tıklatın. Project9.vbp görünür Proje Gezgini içinde kalın.
  6. Proje IDE içinde çalışmak üzere başlatmak için F5 tuşuna basın. Command1 Form1 içinde birkaç kez düğmesini tıklatın ve doğru çalıştığını unutmayın.
  7. Proje grubu derleyin.
  8. IDE dışında Project9.exe çalıştırın. Form1 formu görüntülenir. Tıklatın Command1. Bir ileti kutusu görünür. Ileti kutusunu kapatmak için Tamam'ı tıklatın. Command1 yeniden tıklatın. Not: bir uygulama hatası oluşuyor ve aşağıdaki ileti kutusu görüntüler.
    Adresindeki yönerge "0x6602c2c5"0x010b008c"adresindeki belleğe başvuruyor. Bellek "yazılamadı".

Özellikler

Makale numarası: 192653 - Last Review: 22 Şubat 2014 Cumartesi - Gözden geçirme: 2.1
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: 
kbnosurvey kbarchive kbmt kbbug kbdll kbfix kbide kbvs600sp1fix kbvs600sp2fix kbvs600sp3fix KB192653 KbMttr
Machine-translated Article
Ö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:192653

Geri Bildirim Ver

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com