In Define Graphical Objects you learned about visual objects you can define in ABL (Advanced Business Language), such as fill-in fields, buttons, and images. In other chapters, you have studied how to define and use record buffers, queries, and temp-tables. For all of these, both visual objects and data management objects, you use the DEFINE statement to describe the object to ABL. The compiler then builds a structure to support the object and makes that structure part of the compiled r-code.

In addition to defining these objects at compile time, you can create them and define their attributes programmatically at run time. This adds great flexibility to your application, as you can create objects specifically to respond to the needs of a procedure under particular circumstances. This might include creating dynamic data representation objects to deal with a variety of different kinds of fields that you cannot determine in advance. Or it could mean creating a temp-table whose fields are not known until run time and then creating a query to manage the data in that temp-table.

This section discusses:
  • The CREATE statement, which you use for all of these kinds of objects
  • The use of handle variables to hold the descriptor for the object when it is created
  • How you can use graphical dynamic objects in your application