Kapsayıcılar: Bileşik Dosyalar
Bu makalede bileşik dosyaların bileşenleri ve uygulaması ile OLE uygulamalarınızda bileşik dosyaları kullanmanın avantajları ve dezavantajları açıklanmaktadır.
Bileşik dosyalar OLE'nin ayrılmaz bir parçasıdır. Veri aktarımını ve OLE belge depolamasını kolaylaştırmak için kullanılır. Bileşik dosyalar, Etkin yapılandırılmış depolama modelinin bir uygulamasıdır. Depolamaya, akışa veya dosya nesnesine serileştirmeyi destekleyen tutarlı arabirimler vardır. Bileşik dosyalar, Ve sınıfları COleStreamFile
COleDocument
tarafından Microsoft Foundation Sınıf Kitaplığı'nda desteklenir.
Dekont
Bileşik dosya kullanmak, bilgilerin bir OLE belgesinden veya bileşik belgeden geldiği anlamına gelmez. Bileşik dosyalar bileşik belgeleri, OLE belgelerini ve diğer verileri depolamanın yollarından yalnızca biridir.
Bileşik Dosyanın Bileşenleri
Bileşik dosyaların OLE uygulaması üç nesne türü kullanır: akış nesneleri, depolama nesneleri ve ILockBytes
nesneler. Bu nesneler, aşağıdaki yollarla standart bir dosya sisteminin bileşenlerine benzer:
Dosyalar gibi akış nesneleri, herhangi bir türde veri depolar.
dizinler gibi nesneleri Depolama diğer depolama ve akış nesnelerini içerebilir.
LockBytes
nesneleri, depolama nesneleriyle fiziksel donanım arasındaki arabirimi temsil eder. Gerçek baytların nesnenin eriştiği depolama cihazınaLockBytes
(sabit sürücü veya genel bellek alanı gibi) nasıl yazdığını belirler. Nesneler ve arabirim hakkındaLockBytes
daha fazla bilgi için bkz. OLE Programcı Başvurusu.ILockBytes
Bileşik Dosyaların Avantajları ve Dezavantajları
Bileşik dosyalar, önceki dosya depolama yöntemlerinde kullanılamayan avantajlar sağlar. Bunlar:
Artımlı dosya erişimi.
Dosya erişim modları.
Dosya yapısının standartlaştırılması.
Bileşik dosyaların olası dezavantajları (disketlerde depolamayla ilgili büyük boyut ve performans sorunları) uygulamanızda kullanılıp kullanılmayacağı konusunda karar verirken dikkate alınmalıdır.
Dosyalara Artımlı Erişim
Dosyalara artımlı erişim, bileşik dosyaları kullanmanın otomatik bir avantajıdır. Bileşik bir dosya "dosya içinde dosya sistemi" olarak görüntülenebildiği için, dosyanın tamamını yüklemeye gerek kalmadan akış veya depolama gibi tek tek nesne türlerine erişilebilir. Bu, kullanıcının düzenlemesi için uygulamanın yeni nesnelere erişmesi gereken süreyi önemli ölçüde azaltabilir. Aynı kavram temelinde artımlı güncelleştirme benzer avantajlar sunar. OLE, yalnızca bir nesnede yapılan değişiklikleri kaydetmek için dosyanın tamamını kaydetmek yerine yalnızca kullanıcı tarafından düzenlenen akışı veya depolama nesnesini kaydeder.
Dosya Erişim Modları
Bileşik dosyadaki nesnelerde yapılan değişikliklerin diske ne zaman işleneceğini belirleyebilmek, bileşik dosyaları kullanmanın bir diğer avantajıdır. Dosyaların işlendiği veya doğrudan erişildiği mod, değişikliklerin ne zaman işleneceğini belirler.
İşlem yapılan mod, bileşik dosyadaki nesnelerde değişiklik yapmak için iki aşamalı bir işleme işlemi kullanır ve böylece kullanıcı değişiklikleri kaydetmeyi veya geri almayı seçene kadar belgenin hem eski hem de yeni kopyalarını kullanılabilir durumda tutar.
Doğrudan mod, belgede yapılan değişiklikleri daha sonra geri alma olanağı olmadan birleştirir.
Erişim modları hakkında daha fazla bilgi için bkz . OLE Programcı Başvurusu.
Standardizasyon
Bileşik dosyaların standartlaştırılmış yapısı, farklı OLE uygulamalarının ole uygulamanız tarafından oluşturulan bileşik dosyalara göz atmasına ve dosyayı gerçekten oluşturan uygulama hakkında bilgi sahibi olmamasına olanak tanır.
Boyut ve Performansla İlgili Dikkat Edilmesi Gerekenler
Bileşik dosya depolama yapısının karmaşıklığı ve verileri artımlı olarak kaydetme özelliği nedeniyle, bu biçimi kullanan dosyalar yapılandırılmamış veya "düz dosya" depolama kullanan diğer dosyalardan daha büyük olma eğilimindedir. Uygulamanız sık sık dosya yükleyip kaydediyorsa, bileşik dosyaları kullanmak dosya boyutunun uyumsuz dosyalardan çok daha hızlı artmasına neden olabilir. Bileşik dosyalar büyük olabileceğinden, disketlerde depolanan ve disketlerden yüklenen dosyaların erişim süresi de etkilenebilir ve bu da dosyalara erişimin yavaş olmasıyla sonuçlanır.
Performansı etkileyen bir diğer sorun da bileşik dosya parçalanmasıdır. Bileşik dosyanın boyutu, dosya tarafından kullanılan ilk ve son disk kesimleri arasındaki farka göre belirlenir. Parçalanmış bir dosya, veri içermeyen ancak boyut hesaplanırken sayılan birçok boş alan içerebilir. Bileşik dosyanın ömrü boyunca, bu alanlar depolama nesnelerinin eklenmesi veya silinmesiyle oluşturulur.
Verileriniz için Bileşik Dosyalar Biçimini Kullanma
öğesinden COleDocument
türetilmiş bir belge sınıfına sahip bir uygulamayı başarıyla oluşturduktan sonra, ana belge oluşturucunuzun öğesini çağırdığından EnableCompoundFile
emin olun. Uygulama sihirbazı OLE kapsayıcı uygulamaları oluşturduğunda, bu çağrı sizin için eklenir.
OLE Programcı Başvurusu'nda bkz. IStream, I Depolama ve ILockBytes.
Ayrıca bkz.
Konteynerler
Kapsayıcılar: Kullanıcı Arabirimi Sorunları
COleStreamFile Sınıfı
COleDocument Sınıfı