Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
CRW_REF.PDF
Скачиваний:
5
Добавлен:
13.02.2015
Размер:
13.99 Mб
Скачать

OLE Objects Overview

Often when you insert a graphic, spreadsheet, or some other object into a report, you may later find it necessary to change that object. Normally to make the changes, you would have to:

exit Seagate Crystal Reports,

open the original application,

change the object,

return to Seagate Crystal Reports,

delete the object originally inserted, and

insert the newly revised object.

All of these steps can be avoided using Object Linking and Embedding (OLE). OLE allows you to insert objects (OLE objects) into a report from other applications (OLE server applications) and then use those applications from within Seagate Crystal Reports to edit the objects if necessary.

To better understand the program’s use of OLE, some terminology may be helpful:

OLE

OLE is an acronym for Object Linking and Embedding. It refers to the ability to create compound reports, that is, reports that contain elements from other applications that can be edited using the original application.

OLE Object

An OLE object is, broadly speaking, a presentation of data that was created in another application and that maintains a relationship with the application that was used to create it. A bitmap created in a paint program, an Excel spreadsheet, or a graph from MS graph may all be OLE objects if they are inserted in the receiving document as OLE objects. If they are not inserted as OLE objects, they retain no relationship with the originating application.

416

Seagate Crystal Reports User’s Guide

OLE Container Application

An OLE container application is one that can contain and process OLE objects created in other applications (such as Paint or Excel). Seagate Crystal Reports is a container application.

Container Document

A container document is a document created using the container application and one that contains an OLE object.

OLE Server Application

An OLE server application is one that can create OLE objects that can then be placed in documents created by container applications. Microsoft Word and Excel are examples of applications that are both OLE servers and OLE containers. That is, they can create OLE objects and they can contain OLE objects created elsewhere.

Server Document

A server document is the file created in the server application that stores the original OLE object.

Linked object

A linked object contains a presentation of the object and a pointer to a defined part of the server document. When you modify the original object in the server document, the links assure that the object in your report is modified automatically as well. Conversely, if you modify the object in the container document, the original object file is modified as well. As a general rule, use linked objects when the data in the server document is changing and you want the object in the container document to be updated when changes occur.

Embedded object

An embedded object contains a presentation of the object, all of the data that pertains to the object, and information about the application used to create it. When you modify the original object in the server document, nothing happens to the embedded object unless you specifically update that object. Likewise, when you modify the embedded object, nothing happens to the original. As a general rule, use embedded objects when you want to be able to edit the object in the container application without affecting the original object.

OLE

417

In-place editing

In-place editing is the ability to change an OLE object’s properties while in Seagate Crystal Reports (or another OLE container application). The container application’s menu items change to provide the editing tools from the server application so that you can make the changes easily.

Static OLE Object

A static OLE object is a picture of an object that is stored in a document when it is saved. The picture can be displayed or printed by a user who does not have the application in which the original object was created. The object can not be edited in place, however, without first converting it to an editable type of object. Static OLE objects offer better online and print performance than do standard bitmaps.

When you place an OLE object in a report, the object becomes part of your report. If you want to edit the object, you simply doubleclick it and modify it using the editing tools from the application used to create the object in the first place (or a similar application that allows such editing). This applies to all but static OLE objects. Using OLE objects in your report enables you to create robust documents that are easy to maintain.

Inserting OLE objects in your reports

There are several ways of inserting OLE objects into your application.

You can cut the object from an OLE server application and paste it in your report using the PASTE SPECIAL command on the Edit menu. If the object can be pasted in multiple formats, you decide which format to use. For example, when you’re inserting text from a Microsoft Word document, you can paste the text as Microsoft Word document text (which can be edited in Word) or as a metafile which is simply a non-editable picture of the text. Using the PASTE SPECIAL command you can place either embedded or linked objects.

418

Seagate Crystal Reports User’s Guide

You can create a new object or import an existing one using the OLE OBJECT command on the Insert menu. You can place either embedded or linked objects this way.

Finally, you can drag and drop an object from an OLE server application. You do this by opening Seagate Crystal Reports in one window and the OLE server application in another, then dragging the object between the two. When you drag an object into a report, the object is embedded, not linked.

NOTE: Using the COPY and PASTE SPECIAL commands on the Edit

menu or drag and drop are most appropriate when you are inserting selected information (pieces of larger files). The OBJECT

command on the Insert menu is most appropriate when you are inserting entire files.

Linked vs. Embedded Objects

Linked objects

Since linked and embedded objects each have different properties, it is important for you to consider the capabilities of each when deciding which OLE format to use.

When you insert a linked object, Windows copies a snapshot of the data from a file that already exists. Only the image of the object is added to your report. The actual data remains with the original file.

When you open the object from within your report, the original file is opened inside the application that was used to create it. Any changes you make directly change the original file.

If you want the data in your object to remain available to other applications, and to always reflect the most current changes to the data, link the object to your report.

NOTE: When you have a linked object and you break the link using the Links dialog box, you are breaking all connections to the original data in the server document. A linked object in a container application is simply a presentation of an object and a link between the object and the server document. When you break the link you’re left with simply the representation and no

OLE

419

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]