Aracılığıyla paylaş


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 COleDocumenttarafı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ına LockBytes (sabit sürücü veya genel bellek alanı gibi) nasıl yazdığını belirler. Nesneler ve arabirim hakkında LockBytes 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 COleDocumenttüretilmiş bir belge sınıfına sahip bir uygulamayı başarıyla oluşturduktan sonra, ana belge oluşturucunuzun öğesini çağırdığından EnableCompoundFileemin 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ı