10.07.2015 Views

Programming Guide - Actian

Programming Guide - Actian

Programming Guide - Actian

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Chapter 15: Creating a Frame at RuntimeThis section contains the following topics:Conceptual Background (see page 391)How You Can Build a Frame Dynamically (see page 392)Dynamic Statements Considerations (see page 418)This chapter describes how to build a frame at runtime, illustrating thefollowing concepts and procedures:• Creating a frame and setting its attributes• Creating the frame's form and fields• Creating the frame's menu• Creating the frame's script• Creating the FrameSource object• Attaching the frame to the application• Compiling and running the frame• Dynamic statement considerationsThe example frame created in this chapter lets the user select a database tableand displays the table columns as fields on a form. The DynamicFrame framecreates every aspect of the frame from scratch. The DynamicFrame frame alsodiffers from the DynamicQuery frame in that it displays selected data in simplefields.For a discussion of changing the behavior of a frame or field at runtime bychanging the setting of frame modes and field biases, creating a compositefield dynamically, and modifying a table field dynamically, see CreatingDynamic Frames (see page 363).For a discussion of creating the lines in a line chart dynamically based on datain the database, see the User <strong>Guide</strong>.Conceptual BackgroundDynamic frames are frames that perform operations based on decisions madeby the user at runtime. In a dynamic database frame, you can let users decidewhich table to access or to execute an SQL statement that they compose.Dynamic frames can also create objects at runtime. With a dynamic frame, youcan build any object that you can create with OpenROAD Workbench.Creating a Frame at Runtime 391

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!