Browse Prior Art Database

Sharing Memory Records Between Multiple Container Controls

IP.com Disclosure Number: IPCOM000105559D
Original Publication Date: 1993-Aug-01
Included in the Prior Art Database: 2005-Mar-20
Document File: 4 page(s) / 86K

Publishing Venue

IBM

Related People

Bernath, D: AUTHOR [+4]

Abstract

Applications using the Container control have a need to display the same information in many containers concurrently. The problem is to provide the application this feature without duplicating the memory needed for each container record, each time it is displayed.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 52% of the total text.

Sharing Memory Records Between Multiple Container Controls

      Applications using the Container control have a need to display
the same information in many containers concurrently.  The problem is
to provide the application this feature without duplicating the
memory needed for each container record, each time it is displayed.

      These configurations require the application developer to
duplicate the memory used for each object being displayed in multiple
windows.  For example, an object representing a data file is shown in
a window.  In other windows, showing contrasting views of the object,
the same data file object is shown.  Existing controls would require
the same data file object to be duplicated in memory for each
additional window it is shown in, thus occupying a considerable
amount of system memory.

      In addition, the position of the record and the attributes of
the record in each container are kept separately for each record on a
per container basis.  For example, the same record can be inserted
into multiple containers each with different positions and different
attributes in each container.  The application would only be required
to allocate memory for the one record.  The container control manages
the data associated with this record across multiple containers.  The
records, although the same and occupying the same memory, can appear
to be totally independent of one another to the user.

      When an application allocates record memory from the container,
the container adds a 4 byte reserved private pointer to the top of
the record memory and initializes it to NULL.  The container then
returns the application a pointer 4 bytes into the block of record
memory, thus reserving the 4 extra bytes for it's own use.  (Fig. 1)

      When the previously allocated record is inserted into a
container, the container allocates a small internal block of memory
to hold specific in...