Linking versus embedding – PB Docs 125

Linking versus embedding

An OLE object can be linked or embedded in your application.
The method you choose depends on how you want to maintain the data.

Embedding data

The data for an embedded object is
stored in your application. During development, it is stored in
your application’s PBL. When you build
your application, it is stored in the EXE or PBD file.
This data is a template or a starting point for the user. Although
the user can edit the data during a session, the changes cannot
be saved because the embedded object is stored as part of your application.

Embedding is suitable for data that will not change (such
as the body of a form letter) or as a starting point for data that
will be changed and stored elsewhere.

To save the data at runtime, you can use the SaveAs and Open functions
to save the user’s data to a file or OLE storage.

Linking data

When you link an object, your application
contains a reference to the data, not the data itself. The application
also stores an image of the data for display purposes. The server
application handles the actual data, which is usually saved in a
file. Other applications can maintain links to the same data. If
any application changes the data, the changes appear in all the
documents that have links to it.

Linking is useful for two reasons:

  • More than one application can access the data.

  • The server manages the saving of the data, which
    is useful even if your PowerBuilder application is the only one
    using the data.

Maintaining link information

The server, not PowerBuilder, maintains the link information.
Information in the OLE object tells PowerBuilder what server to
start and what data file and item within the file to use. From then
on, the server services the data: updating it, saving it back to
the data file, updating information about the item (for example,
remembering that you inserted a row in the middle of the range of
linked rows).

Fixing a broken link

Because the server maintains the link, you can move and manipulate
an OLE object within your application without worrying about whether
it is embedded or linked.

If the link is broken because the file has been moved, renamed,
or deleted, the Update setting of the control determines how the
problem is handled. When Update is set to Automatic, PowerBuilder
displays a dialog box that prompts the user to find the file. You
can call the UpdateLinksDialog function in a
script to display the same dialog box. You can establish a link
in a script without involving the user by calling the LinkTo function.

PowerBuilder displays a control with a linked object with
the same shading that is used for an open object.


Document get from Powerbuilder help
Thank you for watching.
Was this article helpful?
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x