Object types for storages and streams
PowerBuilder has two object types that are the equivalent of the
storages and streams stored in OLE files. They are:
-
OLEStorage
-
OLEStream
These objects are class user objects, like a Transaction or
Message object. You declare a variable, instantiate it, and open the
storage. When you are through with the storage, you close it and destroy
the variable, releasing the OLE server and the memory allocated for the
variable.
Opening a storage associates an OLEStorage variable with a file on
disk, which can be a temporary file for the current session or an
existing file that already contains an OLE object. If the file does not
exist, PowerBuilder creates it.
You can put OLE objects in a storage with the SaveAs function. You
can establish a connection between an OLE control in a window and a
storage by calling the Open function for the OLE control.
A stream is not an OLE object and cannot be opened in a control.
However, streams allow you to put your own information in a storage
file. You can open a stream within a storage or substorage and read and
write data to the stream, just as you might to a file.
Performance tip
Storages provide an efficient means of displaying OLE data. When
you insert a file created by a server application into a control, OLE
has to start the server application to display the object. When you
open an object in an OLE storage, there is no overhead for starting
the server — OLE uses the stored presentation information to display
the object. There is no need to start the server if the user never
activates the object.