2012-02-01 22 views
7

MSVBVM60.dll ver 6.0.97.82 olan bir makine, OLD. MSVBVM60.dll ver 6.0.98.15 olan diğer makine, YENİ söyle. ESKİ makine verme üzerindeki hat new ADODB.Connection de YENİ makine çöker oluşturulan exe aşağıdaki hataExe Crash ADODB'de "Class, Otomasyon desteklemiyor" ile bağlantı

Çalışma zamanı hatası '430': sınıf Otomasyonu desteklemiyor veya getirmediğini etmez destek beklendiği Nasıl olsun arayüz

bundan kurtulmak mı? Asıl amacım, YENİ makine üzerinde oluşturulduğunda OLD makinesinde exe çalıştırmaktır. YENİ makinenin rahatsız edici konfigürasyonundan kaçınmak için, eski sürümün kaydını kaldırmaya ve OLD makinesinde daha yeni bir sürümü kaydetmeye çalıştım ancak başarı elde edemedim. ADODB.Connection tarafından kullanılan başka dll (ler) var mı yoksa bundan kurtulmak için tamamen farklı bir şey yapmam gerekiyor mu?

+0

Yeni ve eski bilgisayarlarınız hangi işletim sistemleri çalışıyor? – UnhandledExcepSean

cevap

11

Bu, VB çalışma zamanı sürümleriyle ve ADO kütüphaneleriyle (hata satırıyla ilgili olarak) yapılacak daha fazla bir şey değildir ve Microsoft'un ADO kitaplıklarında uyumluluktan kopmalarına neden olmuştur. KB article 2517589, neden ve çözümlenmeye karşı özdevinimli olarak yeniden derlenmesini açıklar.

+0

Verilen KB makalesindeki tüm adımları izledim, her şey yolunda gitti, exe oluşturdum ve tekrar çöktü. Plz, Jon Egerton'un cevabındaki yorumlarıma bakın. – bjan

+0

Yapım makinemdeki tüm adımları izledikten sonra birkaç gün önce benim için yeniden derledim. – Deanna

+0

Projenizin hala "Microsoft ActiveX Veri Nesneleri XXX Kitaplığı" na başvuruyorsa, hala uyumsuz sürümde oluşturuyor. Bu başvuruyu kaldırmanız ve "Microsoft ActiveX Data Objects 6.0 BackCompat Kitaplığı" ile yeniden oluşturmanız GEREKİR. – Deanna

0

Tüm VB6 çalışma zamanını OLD makinesine yamanın en kolay yolu olabilir - here'dan karşıdan yükleme alabilirsiniz.

VB6 çalışma zamanı bir paket olarak dağıtılır, bu yüzden yalnızca bazı dll'leri kendi başlarına eklemenizi tavsiye etmem.

Ayrıca, çalıştığınız iki makinenin aynı MDAC sürümünü kullanmasını, özellikle de OLD makinesinin projenizde başvurulan sürümün yüklü olduğunu kontrol etmenizi öneririz.

+0

OLD makinesini, istemci makineleri olarak yüklemek istemiyorum. Evet, MDAC sürümleri farklıdır, ancak aynı anda hem yeni makinede hem VS6.0 hem de VS2010 çalıştırıyorum. Her iki MDAC sürümü aynı makinede yüklenebilir mi? – bjan

+0

Evet, birçok versiyona sahip olmak güzel. VB6'da, 2.1'den 2.6'ya kadar yüklenebilecek MDAC sürümleri olabilir (hepsi aynı anda). Projenizin kullandığı sürüm, istemcide mevcut olmalıdır. –

+1

Ayrıca Vista +'nın, Windows'un önceki bir sürümünde değiştiremeyeceğiniz ve yüklememeniz gereken VB çalışma zamanlarının belirli sürümlerine sahip olduğunu unutmayın. Vista'dan önceki her şey SP6 çalışma zamanlarını kullanmalıdır. – Deanna

0

Kabul edilen cevap benim için çalışmadı. Aşağıdaki adımlar yapıldı.

  1. Araçlar -> Kaynaklar
  2. işaretini kaldırın:
    • Microsoft ActiveX Data 6.1 Kütüphanesinin
    • Microsoft ActiveX Data Recordset 6.0 Kütüphane
    • Microsoft ADO Ext Nesneleri. DDL ve Güvenlik
    • için 6,0
  3. Kontrol:
    • Microsoft ActiveX Data 2.8 Kütüphanesinin
    • Microsoft ActiveX Data Recordset 2.8 Kütüphane
    • Microsoft ADO Ext Nesneleri. 2,8 DDL ve Güvenlik için