Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Herhangi bir tür kalıcı duruma sahip nesneler, kapsayıcıya bir denetimin durumunu nasıl kaydetmek istediği konusunda en esnek seçimi sağlamak için en az bir IPersist* arabirimi ve tercihen birden çok arabirim uygulamalıdır.
Bir denetimin kalıcı bir durumu varsa, en azından IPersistStream veya IPersistStreamInit uygulamalıdır (ikisi birbirini dışlar ve çoğu zaman birlikte uygulanmamalıdır). İkinci seçenek, bir denetimin mevcut kalıcı durumdan yeniden yüklenmesinin aksine ne zaman yeni oluşturulduğunu bilmek istediğinde kullanılır (IPersistStream oluşturulan yeni özelliğe sahip değildir). Her iki arabirimin de varlığı, denetimin kalıcı durumunu bir akışa kaydedebileceğini ve yükleyebileceğini, yani IStreamörneğini gösterir.
Bu iki akış tabanlı arabirimin ötesinde, aşağıdaki tabloda listelenen IPersist* arabirimleri, IStreamgenişletilebilirdışındaki konumlarda kalıcılığı desteklemek için isteğe bağlı olarak sağlanabilir.
Kalıcılık arabirimleri desteğini kapsayacak şekilde bir bileşen kategorisi kümesi tanımlanır. Bkz. Bileşen Kategorileri.
| Arayüz | Kullanım |
|---|---|
|
IPersistMemory |
Nesne, durumunu sabit uzunlukta bir sıralı bayt dizisine (bellekte) kaydedebilir ve yükleyebilir. |
|
IPersistStorage |
Nesnesi durumunu kaydedebilir ve bir IStorage örneğine yükleyebilir. Eklenebilir olarak diğer bileşik belge nesneleri olarak işaretlenmek isteyen denetimler (denetime duyarlı olmayan kapsayıcılara eklemek için) bu arabirimi desteklemelidir. |
|
IPersistPropertyBag |
nesnesi, kapsayıcının uyguladığı IPropertyBag'e yazılan tek tek özellikler olarak durumunu kaydedebilir ve yükleyebilir. Bu, bazı kapsayıcılarda Metin Olarak Kaydet işlevi için kullanılır. |
|
IPersistMoniker |
Nesne, durumunu kaydedebilir ve bir takma adla adlandırılan bir konuma yükleyebilir. Denetim, IMoniker::BindToStorage çağırarak IStorage, IStream, ILockBytesIDataObjectvb. gibi depolama arabirimini alır. |
IPersistPropertyBag desteği isteğe bağlı olsa da, Visual Basic gibi Farklı Kaydet Metin özelliklerine sahip kapsayıcılar için iyileştirme olarak kesinlikle önerilir.
IPersistStream::GetSizeMax, IPersistStreamInit::GetSizeMaxve IPersistMemory::GetSizeMaxdışında, her arabirimin tüm yöntemleri tam olarak uygulanmalıdır.