About using OLE in DataWindow objects

A DataWindow object can include a control that is a container for an OLE object. The container stores information about the application that created the object and it can launch the application to display or modify the OLE object.

The container can fill the whole DataWindow object, when you create a new DataWindow object using the OLE presentation style, or it can exist alongside other controls in a DataWindow object, when you add an OLE object to an existing DataWindow object. You can also read OLE data from a blob column in a database and display the objects in the DataWindow object.

You can use OLE objects in DataWindow objects in the following ways:

You can also add ActiveX controls (also called OLE custom controls or OCXs) to DataWindow objects. ActiveX controls range from simple visual displays, such as meters and clocks, to more complex controls that perform spell checking or image processing.

The behavior of OLE objects in DataWindow objects is similar to the behavior of OLE controls in windows.

For more information about linked and embedded objects and automation, see the chapter on using OLE in an application in Application Techniques.

Activating OLE objects

When you are working in the DataWindow painter, you can start the server application for an OLE object by selecting Open from the pop-up menu. Once the server application has started, you can use the tools provided by the server to edit the initial presentation of the object.

If the OLE object is associated with all rows retrieved and is in the foreground or background layer, not the band layer, users can activate the object. If the object is associated with a single row or page or is in the band layer, users can see the object but cannot activate it. DataWindows created using the OLE presentation style are always associated with all rows.

Unlike OLE objects, ActiveX controls are always active. They do not contain objects that need to be opened or activated.

Editing OLE objects

When an OLE object is activated, you can edit the presentation of the data. Changes made to DataWindow data affect the OLE object. Changes made to the OLE object do not affect the data the DataWindow object retrieved.

Each OLE object stored in the database in a blob column can be activated and changed. When the DataWindow object updates the database, the changes are saved.

What's next

Whether you are inserting an OLE object into a DataWindow object or using the OLE presentation style, you use the same procedures to define, preview, and specify data for the OLE object. Because of their similarities, the next section discusses both OLE objects in DataWindow objects and the OLE presentation style. The last section discusses OLE database blob columns.