Internet Explorer'da bir .inf dosyası, bağımlı DLL yükleme nasıl kullanılır
(الشرق الاوسط (العربية Brasil (Português) Deutschland (Deutsch) España, Latinoamérica (Español) France (Français) Indonesia (Bahasa Indonesia) Italia (Italiano) Nederland (Nederlands) Polska (Polski) Portugal (Português) Slovenská Republika (Slovenčina) United States (English) Việt Nam (Tiếng Việt) Česká republika (Čeština) Ελλάδα (Ελληνικά) Россия (Русский) भारत (हिंदी) ไทย (ไทย) 中国 (简体中文) 台灣 (繁體中文) 日本 (日本語) 대한민국 (한국어) Makale numarası: 165075 - Bu makalenin geçerli olduğu ürünleri görün.Otomatik tercüme makalelerin ne olduğunu açıklayan yazıyı okumak için buraya tıklayınMicrosoft destek sayfalarında makine çevirisiIf you are a Small Business customer, find additional troubleshooting and learning resources at the Support for Small Business site.Hepsini aç | Hepsini kapaÖzetGenellikle, bir ActiveX denetimi ile birlikte, bağımlı dll'i karşıdan yüklemek gereklidir. MFC ve Visual Basic denetimleri bu gereksinimi vardır. Bu makalede, bunu yapmak için üç yolu açıklanmaktadır. Üste | Geri Bildirim VerDaha fazla bilgiKarşıdan yüklemeyi Denetim için bağımlı DLL'lerin eklemek için üç yolu vardır. Ilk yöntem OCX ve INF dosyaları ile birlikte bir denetimin CAB dosyası DLL(s) eklemektir. Bu downside DLL her denetimin karşıdan yüklenecek ' dir. Bazı durumlarda, bu uygundur. Sonraki ayrı bir CAB dosyasına bağımlı olan DLL(s) paketini ve denetim için INF dosyası için başvuru yoludur. Üçüncü bir yol da, DLL ayrı bir CAB dosyasında paketler, ancak denetimin INF dosyasında bir kanca CAB dosyasının denir. Bir kanca kullanarak bağımlı CAB dosyasının içerdiği bir INF veya EXE dosyası yürütmek karşıdan yükleme işlemi sağlar. Bir OCX (Bu örnekte Simpdll.dll) için bir bağımlılık eklemek için <a0></a0>, denetimin bölümüne benzer bir bölümü INF dosyasının [AddCode] bölümüne eklenir:
BIR bölümü daha sonra dll DOSYASıNıN yüklemesini denetlemek için INF dosyası eklenir:
bir karşıdan yükleme bir DLL bağımlılığını eklemek için belirtilen en ilk yolu budur. DLL, ayrı bir CAB dosyasında eklemek için <a0></a0>, tüm gerekli olan, "thiscab" konumundan değiştirmek için bağımlı CAB bulunacağı URL'SI: File-Win32-x86=http://www.contoso.com/Controls/Dependent.cabBu durumda, yalnızca simpdll.dll Simpdll.cab içerir. Birden fazla DLL INF ve CAB dosyaları gerekiyorsa eklenebilir. Bağımlı DLL'lerin paketlemek için üçüncü bir kanca kullanarak bağımlı DLL CAB dosyasına başvuruda bulunmak için yoludur. Bu teknik, karşıdan yükleme hakkında bir INF veya EXE dosyasına bağımlı CAB yürütülebilir. Aşağıdaki bölümde bir .inf dosyasından MFC denetimleri için bağımlı DLL yükleme denetler:
MFC dll (mfc42.cab) .cab dosyasında bulunan bir kendi kendine ayıklanan .exe dosyasını, böyle bir durumda, paketlenmiştir. Ancak, araçları, kendi kendine ayıklanan .exe dosyaları yapmak için şu anda Microsoft'tan ulaşılabilir değil. Bu nedenle, bir .inf dosyası ile bağımlı DLL'lerin paketini veya yükleme kanca .inf dosyasında başvuru gerek ya da olur:
veya üçüncü taraf araçlar kullanılarak EXE dosyası ayıklama bir kendini oluşturmak gerekecektir. Göstermek için <a0></a0>, bağımlı MFC dll'i yüklemek için kullanılan .inf dosyası aşağıdadır. MFC dll'in yüklü olduğunu aynı şekilde kendi dll'i yüklemek için değiştirebilirsiniz.
BIR DLL bu DllRegisterServer işlevi verir, .register bölümünde listeleniyor olması gerekir. Bu, Visual C Derleyici'nın dumpbin.exe yardımcı programıyla DLL incelenerek belirlenebilir. Regsvr32, DLL kaydettirmeyi deneyen DLL da çalıştırabilirsiniz. Regsvr32 DLL yükler, üzerinde DLLRegisterServer işlevi GetProcAddress() çağırarak DllRegisterServer düzgün verilir doğrular. Başarılıysa, işlev DllRegisterServer verilir ve sonra yeniden adlandırılır. Ancak, Regsvr32 DLL üzerinde çalışan istenmeyen yan etkileri olabilir dikkat. DllRegisterServer çağrıldığında, makinedeki DLL konumuna işaret eden uygun kayıt defteri girişleri sağlar. Örneğin, bir MS-DOS komut istemini sınama amacıyla, aşağıdakileri yazarak sorunlara yol açabilir:
Mfc42.dll için aramak için sistem çalışır başlattığınızda, kayıt defterini arar, dosya için C:\Test\Mfc42.dll eşleştirilir ve orada bulmuyor. Regsvr32 bir makinede zaten yüklü olan bir dosya üzerinde çalışan sorunları neden olmaz. Aşağıdaki nedenle EXE ayıklama bir kendini bir kanca ile bir DLL yüklenmesi yararlı olur: bellekte yükseltilmesi için gereksinim duyduğu bir DLL DOSYASı zaten yüklü, karşıdan yükleme başarısız olur. Bu ınternet Explorer sürüm 4.0 sabit bilinen bir sorun var. Internet Explorer 4.0 yeniden önermek ve yeniden sırasında yeni DLL'I yüklenemedi. Üste | Geri Bildirim VerReferanslarEk bilgi için lütfen aşağıdaki Microsoft Knowledge Base'deki makaleleri bakın: 167158
Internet üzerinden paketi MFC denetimleri kullanmak için nasıl 167597
DosyaSürümü ve #Version bileşen yükleme için belirtme Daha fazla bilgi için aşağıdaki Web yayını bakın: How Does Internet Component Download Work?
Üste | Geri Bildirim VerÖzelliklerMakale numarası: 165075 - Last Review: 21 Aralık 2006 Perşembe - Gözden geçirme: 2.5Bu makaledeki bilginin uygulandığı durum:Microsoft Internet Explorer 3.0Microsoft Internet Explorer 3.01Microsoft Internet Explorer 3.02Microsoft Internet Explorer 4.0 128-Bit EditionMicrosoft Internet Explorer 5.0Microsoft Internet Explorer 5.5Windows Internet Explorer 8Windows Internet Explorer 8 on Windows ServerAnahtar Kelimeler: kbmt kbcode kbdownload kbFAQ kbhowto KB165075 KbMttrMachine-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:165075