A record structure is an object that acts as a container for a parameter passed to an external function. Record structures contain information about each of the data types and fields identified in the parsed source file. IBM Smalltalk uses this information to map Smalltalk objects to data passed to the external function.
A record structure contains a field for the parameter's value; if the parameter is of a compound type, the record structure contains multiple fields, one for each field of the data type. Methods of the record structure enable you to set and retrieve the values of the fields.
When your application passes the record structure to the external function, IBM Smalltalk converts each record structure's value into a byte array that the external function can manipulate. If the external function changes the value of any parameters passed by reference, those changes are reflected in the record structure object. When the external function finishes, other parts of your application can retrieve the new values.
The two different kinds of record structures are as follows:
In Smalltalk programs, record wrappers are typically easier to use than AbtRecord. Each instance of AbtRecord must be separately set up to contain the correct fields, while record wrapper instances are predefined. However, because the VisualAge parts that support external functions use AbtRecord to build record structures, you might want to use the AbtRecord technique in a Smalltalk program if you need your code to interact with an application built with VisualAge.