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.
Özgün KB numarası: 4131515
Belirtiler
Aşağıdaki senaryoyu inceleyin:
- Microsoft Outlook'u kullanarak bir e-posta iletisi oluşturursunuz.
- Yeni iletiye mevcut bir e-posta iletisi eklersiniz.
- Ekli iletiyi görüntülemek için açarsınız.
- Yeni açtığınız e-posta ekine karşılık gelen geçerli Outlook.MailItem'e başvuru almak için NewInspector olayını kullanırsınız.
- MailItem nesnesinden, C++'da MAPIOBJECT özelliğini okuyarak temel MAPI nesnesine başvuru alırsınız.
- İletiyi kaydedersiniz veya Outlook bir Otomatik Kaydetme işlemi başlatır.
-
GetProps yöntemini, NewInspector olayı aracılığıyla aldığınız başvurudan
MAPIOBJECT
bir IMAPIProp başvurusunda başlatırsınız.
Bu senaryoda, Outlook kilitleniyor.
Neden
özelliğinden MAPIOBJECT
aldığınız MAPI nesnesi eski haline geldi ve artık kullanılamıyor. İlgili Outlook öğesi değiştiyse özelliği yeniden kullanmamalısınız.
Çözüm
Bir Outlook veya Outlook Nesne Modeli öğesiyle eşleyen MAPI nesnesinde her işlem çalıştırmak zorunda olduğunuzda, temel alınan MAPI nesnesine yeni bir başvuru almanız gerekir. Ardından, artık geçerli olmayabilecek eski bir başvuru yerine bu yeni başvuru üzerinde MAPI işlemlerini çalıştırın. Eski başvurunun kullanılması beklenmeyen davranışlara neden olabilir ve Outlook istemcisini kilitler.
Daha fazla bilgi
Outlook Nesne Modeli aracılığıyla elde ettiğiniz başvuruları MAPIOBJECT
gerekliden daha uzun süre tutmamanızı öneririz. Bunun nedeni, temel alınan nesnenin sıklıkla değiştirilebilir olmasıdır. Eski bir temel nesne kullanmak beklenmeyen hatalara neden olabilir.
Bu, yalnızca "Belirtiler" bölümünde bahsedilen senaryolar için değil, Outlook Nesne Modeli aracılığıyla başvuru MAPIOBJECT
almanız gerekebilecek tüm senaryolar için geçerlidir.