OleObjectFrame Eklerken Nesne Ön İzleme Sorunu
Giriş
Aspose.Slides for C++ kullanırken bir slayta OleObjectFrame eklediğinizde, çıktı slaytında “EMBEDDED OLE OBJECT” mesajı gösterilir. Bu mesaj kasıtlıdır ve bir hata DEĞİLDİR.
OLE nesneleriyle çalışmak hakkında daha fazla bilgi için OLE’yi Yönet sayfasına bakın.
Açıklama ve Çözüm
Aspose.Slides, OLE nesnesinin değiştirildiğini ve ön izleme görüntüsünün güncellenmesi gerektiğini bildirmek için “EMBEDDED OLE OBJECT” mesajını gösterir.
Örneğin, bir Microsoft Excel grafiğini bir OleObjectFrame olarak slayta ekleyip (daha fazla detay için “OLE’yi Yönet” makalesine bakın) sunumu Microsoft PowerPoint ile açarsanız, slaytta şu görseli görürsünüz:

OLE nesnenizin slayta eklendiğini kontrol etmek ve doğrulamak istiyorsanız, “EMBEDDED OLE OBJECT” mesajına çift tıklamanız gerekir; ya da üzerine sağ tıklayıp Object > Edit seçeneğini kullanabilirsiniz.

PowerPoint ardından gömülü OLE nesnesini açar.

Slayt “EMBEDDED OLE OBJECT” mesajını tutabilir. OLE nesnesine tıkladığınızda, slayt ön izlemesi güncellenir ve “EMBEDDED OLE OBJECT” mesajı OLE nesnesinin gerçek görüntüsü ile değiştirilir.

Şimdi, OLE Nesnesinin görüntüsünün doğru şekilde güncellenmesini sağlamak için sununuzu kaydetmek isteyebilirsiniz. Bu şekilde, sunuyu kaydettikten sonra tekrar açtığınızda “EMBEDDED OLE OBJECT” mesajını GÖRMEYECEKSİNİZ.
Diğer Çözümler
Çözüm 1: “Embedded OLE Object” Mesajını Bir Görüntüyle Değiştirmek
Sunuyu PowerPoint’te açıp kaydederek “EMBEDDED OLE OBJECT” mesajını kaldırmak istemiyorsanız, mesajı tercih ettiğiniz ön izleme görüntüsüyle değiştirebilirsiniz. Aşağıdaki kod satırları bu işlemi gösterir:
auto presentation = MakeObject<Presentation>(u"embeddedOLE.pptx");
auto slide = presentation->get_Slide(0);
auto oleFrame = ExplicitCast<IOleObjectFrame>(slide->get_Shape(0));
// Add an image to presentation resources.
auto imageStream = File::OpenRead(u"myImage.png");
auto oleImage = presentation->get_Images()->AddImage(imageStream);
imageStream->Dispose();
// Set a title and the image for the OLE object preview.
oleFrame->set_SubstitutePictureTitle(u"My title");
oleFrame->get_SubstitutePictureFormat()->get_Picture()->set_Image(oleImage);
oleFrame->set_IsObjectIcon(false);
presentation->Save(u"embeddedOLE-newImage.pptx", SaveFormat::Pptx);
presentation->Dispose();
OleObjectFrame içeren slayt daha sonra şu şekilde değişir:

Çözüm 2: PowerPoint için Bir Eklenti Oluşturmak
Microsoft PowerPoint için, programda bir sunu açtığınızda tüm OLE nesnelerini güncelleyen bir eklenti de oluşturabilirsiniz.