PRB: GetData Returns Outdated Data for OLE 1.0 Object (110716)



The information in this article applies to:

  • Microsoft OLE Libraries for Windows and Win32s
  • Microsoft OLE Libraries, when used with:
    • the operating system: Microsoft Windows NT 3.5
    • the operating system: Microsoft Windows NT 3.51
    • the operating system: Microsoft Windows 95

This article was previously published under Q110716

SYMPTOMS

If an OLE 2.0 container application document contains an embedded OLE 1.0 object, and the container calls IDataObject::GetData() to retrieve data for that object, the data returned is out of date, and does not reflect the OLE 1.0 server's most recent changes to the object.

CAUSE

OLE 1.0 embedded object servers only update the cache when the user chooses the Update command from the File menu. OLE 1.0 objects do not update the cache for every change to the object. Therefore, an OLE 1.0 object's cache often contains outdated data.

RESOLUTION

The container can obtain the latest object data by calling IOleObject::Update(). This function ensures that any data or view caches maintained inside the object are up to date.

REFERENCES

For more information on known idiosyncrasies of embedding OLE 1.0 objects into OLE 2.0 containers, see "Working with OLE 1 Servers" in the OLE Software Development Kit (SDK) version 2.01 Programmer's Reference.

Modification Type:MinorLast Reviewed:3/3/2005
Keywords:kbprb kbprogramming KB110716