SAP Adaptive Server Enterprise 16.0
SAP Adaptive Server Enterprise 16.0 (Japanese)
SAP Adaptive Server Enterprise 16.0 (Simplified Chinese)
Adaptive Server Enterprise 15.7 SP121
Adaptive Server Enterprise 15.7 SP110
Adaptive Server Enterprise 15.7 SP100
Adaptive Server Enterprise 15.7 SP60
Adaptive Server Enterprise 15.7 SP50
Adaptive Server Enterprise 15.7 ESD #4
Adaptive Server Enterprise 15.7 ESD #3
Adaptive Server Enterprise 15.7 ESD #2
Adaptive Server Enterprise 15.7 ESD #2 (Japanese)
Adaptive Server Enterprise 15.7 ESD #2 (Simplified Chinese)
Adaptive Server Enterprise 15.7
Adaptive Server Enterprise 15.7 (Japanese)
Adaptive Server Enterprise 15.7 (Simplified Chinese)
Adaptive Server Enterprise 15.5
Adaptive Server Enterprise 15.5 - Simplified Chinese
Adaptive Server Enterprise 15.5 (Japanese)
Adaptive Server Enterprise 12.5.4
Adaptive Server Enterprise 12.5.4 (Simplified Chinese)
Adaptive Server Enterprise 12.5.4 (French)
Adaptive Server Enterprise 12.5.4 (Japanese)
Adaptive Server Enterprise 12.5.3
Adaptive Server Enterprise 12.5.2
Adaptive Server Enterprise 12.5.1
AppBuilder 1.0
Appeon 6.5.1 for PowerBuilder
Appeon 6.5 for PowerBuilder
Appeon 6.2 for PowerBuilder
Appeon 6.1 for PowerBuilder
Appeon 6.0 for PowerBuilder
Appeon 6.0 for PowerBuilder (Japanese)
Avaki EII 7.1
Avaki EII 7.0
Avaki EII 6.2
DataWindow .NET 2.5
DataWindow .NET 2.0.1
DataWindow .NET 2.0
EAServer 6.3.1
EAServer 6.3
EAServer 6.2
EAServer 6.1
EAServer 6.0.2
EAServer 6.0
EAServer 5.5
EAServer 5.3
EAServer 5.2.1
EAServer 5.2
EAServer 5.0.1
EDI Products 5.2.2
Enterprise Connect Data Access 15.7
Enterprise Connect Data Access 15.0.1
Enterprise Connect Data Access 15.0
Enterprise Connect Data Access 12.6.1
Enterprise Connect Data Access 12.6
Financial Fusion GlobalFIX 6.0
InfoMaker 12.5.2
InfoMaker 12.5
SAP jConnect for JDBC 16.0
jConnect for JDBC 7.07 SP110
jConnect for JDBC 7.07 SP100
jConnect for JDBC 7.07
jConnect for JDBC 7.0
jConnect for JDBC 6.05
jConnect for JDBC 5.5
M-Business Anywhere 7.0
M-Business Anywhere 6.7
Mainframe Connect 15.0
Mainframe Connect 12.6.1
Mainframe Connect 12.6
SAP Open Server 16.0
SAP Open Server 15.7 SP127
Open Server 15.7 SP121
Open Server 15.7 SP110
Open Server 15.7 SP100
Open Server 15.7
Open Server 15.5
Open Server 15.0, Open Client 15.0, and SDK 15.0
Open Server 12.5.1
Open Server 12.5.1 (Chinese-Simplified)
Open Server 12.5.1 (French)
OpenSwitch 15.1
SAP Sybase PowerAMC 16.5 SP03
SAP Sybase PowerAMC 16.5 SP02
PowerAMC 16.5
PowerAMC 16.1
PowerAMC 16.0
PowerBuilder 12.5.2
PowerBuilder 12.5.1
PowerBuilder 12.5
Release Bulletin
Product Summary
Known Issues
Databases
WPF Window and Menu Painters
WPF DataWindow
WPF Controls
Third-Party and Custom Controls
WPF Inheritance
.NET Language Enhancements
WPF Runtime
WPF Debugger
WCF Client Proxy
Known Issues for the WCF Services
FlowDirection Property
Migration
Installation
Web Forms Applications
Split Assemblies
Miscellaneous
Product Compatibilities
Third-Party Components and Deployment
Apache Files
Microsoft Files
Oracle (Sun Microsystems) Files
Software Used for SOAP Clients for Web Services
Documentation Updates and Clarifications
Initdir Parameter Behavior in GetFileOpenName Function
PowerBuilder .NET Datatype Mapping
Migration Information
Migration to PowerBuilder .NET
Migration to PowerBuilder Classic
Migrating .NET Targets from Earlier Versions of PowerBuilder
Migrating EAServer Targets
Creating an EJB Client Proxy for an EAServer 6.x Component
Creating a Client Application for an EAServer 6.x EJB Component
System Types as Variable Names in Proxies
OLE DB Performance with Microsoft SQL Server
Change in Behavior of OpenTab
ImportFile Size Limit
Obtaining Help and Additional Information
Technical Support
Downloading Sybase EBFs and Maintenance Reports
Sybase Product and Component Certifications
Creating a MySybase Profile
Accessibility Features
Installation Guide
Installation Workflow
Planning Your Installation
Installation Media Contents
System Requirements
Obtaining a License
SySAM Troubleshooting
Software Requirements
Preinstallation Tasks
Starting the Common Setup Program
Providing Basic Information
Installing SQL Anywhere
About SQL Anywhere
Installing InfoMaker
InfoMaker Components
Installing PowerBuilder
PowerBuilder Components
Completing the Setup Program
What the Setup Program Does
Installing in Silent (Unattended) Mode
Accepting the License Agreement
Silent Install and Uninstall for PowerBuilder Products
Silent Install and Uninstall for the PBVM
Postinstallation Tasks
Upgrading Databases for jConnect for JDBC
Installing the PBVM in EAServer
Installing Ghostscript
Installing PostScript Drivers
Uninstalling a PowerBuilder Product
Obtaining Help and Additional Information
New Features
PowerBuilder Classic and .NET
AutoWidth Property
Support for Tab Sequence, Enabled, and Show Focus Rectangle Properties
Support for New ASE 15.5 Datatypes
PowerBuilder Classic
Window Control transparent Value and transparency property
Sharing Datasources with .NET
RTF and Images in the DataWindow Object
User-Drawn Controls in DataWindow Objects
PowerBuilder .NET
.NET 4.0 Framework
Visual Studio 2010 Isolated Shell
Script Editor Changes
Batch Command Processing
Multithreading Support
Targets
WCF Services
Support for CVUOs in .NET Assemblies
Support for Split Assemblies in WPF Targets
PB Assembly Target
REST client
Language Enhancements
Consume .NET Events
Enhancement of the .NET Assembly Target
WPF DataWindow Enhancements
Optimized SRD Syntax
Data Buffers in the Debugger
Child DataWindow Control Support
Candlestick Graphs
Global Functions List
Users Guide
About this book
Working with PowerBuilder
About PowerBuilder
Concepts and terms
Workspaces and targets
Objects
DataWindow objects
PowerBuilder libraries
Painters and editors
Events and scripts
Functions
Properties
Source control
PowerBuilder extensions
The PowerBuilder environment
The System Tree
The PowerBar
The Clip window
The Output window
Creating and opening workspaces
Creating a workspace
Opening a workspace
Using wizards
About wizards
Related wizard types
Creating a target
Target types
Application targets
Component targets
.NET targets
Managing workspaces
Adding an existing target to a workspace
Removing a target from a workspace
Specifying workspace properties
Building workspaces
In the development environment
From a command line
Working with tools
Using the To-Do List
Using the file editor
Using online help
Building an application
Customizing PowerBuilder
Starting PowerBuilder with an open workspace
Using options in the development environment
Using a workspace file
Using command line arguments
Changing default layouts
Arranging the System Tree, Output, and Clip windows
Using views in painters
Displaying the title bar
Moving and resizing panes and views
Floating and docking views
Adding and removing views
Saving a layout
Using toolbars
Toolbar basics
Drop-down toolbars
Controlling the display of toolbars
Moving toolbars using the mouse
Docking toolbars
Customizing toolbars
Modifying a custom button
Creating new toolbars
Customizing keyboard shortcuts
Changing fonts
Defining colors
How the PowerBuilder environment is managed
About the registry
About the initialization file
Using Source Control
About source control systems
Using your source control manager
Using PBNative
Constraints of a multi-user environment
Extension to the SCC API
Using a source control system with PowerBuilder
Setting up a connection profile
Viewing the status of source-controlled objects
Working in offline mode
Fine-tuning performance for batched source control requests
Configuring Java VM initialization
Files available for source control
Source control operations in PowerBuilder
Adding objects to source control
Checking objects out from source control
Checking objects in to source control
Clearing the checked-out status of objects
Synchronizing objects with the source control server
Refreshing the status of objects
Comparing local objects with source control versions
Displaying the source control version history
Removing objects from source control
Initialization settings that affect source control
Modifying source-controlled targets and objects
Effects of source control on object management
Opening objects checked in to source control
Copy and move operations on source-controlled objects
Editing the PBG file for a source-controlled target
Migrating existing projects under source control
Using the Existing Application target wizard
Importing source control files to a new library
PowerDesigner Integration
About PowerDesigner and the PowerDesigner plug-in
What is an OOM?
Advantages of an OOM class diagram in PowerBuilder
Reverse-engineering a PowerBuilder target
Using PowerDesigner menu items in PowerBuilder
Class diagram menu commands
Checking the OOM model
Plug-in toolbars
Working with Targets
About targets
Working in painters
Opening painters
Painter summary
Painter features
Views in painters that edit objects
About the Application painter
Specifying application properties
Specifying default text properties
Specifying an icon
Specifying default global objects
Writing application-level scripts
Setting application properties in scripts
Specifying target properties
Specifying the target’s library search path
Importing .NET assemblies
Looking at an application’s structure
Which objects are displayed
Which references are displayed
Which references are not displayed
Working with objects
Creating new objects
Creating new objects using inheritance
Naming conventions
Opening existing objects
Running or previewing objects
Using the Source editor
Working with Libraries
About libraries
Using libraries
Organizing libraries
Opening the Library painter
About the Library painter
Working with libraries
Displaying libraries and objects
Using the pop-up menu
Controlling columns that display in the List view
Selecting objects
Filtering the display of objects
Creating and deleting libraries
Filtering the display of libraries and folders
Working in the current library
Opening and previewing objects
Copying, moving, and deleting objects
Setting the root
Moving back, forward, and up one level
Modifying comments
Searching targets, libraries, and objects
Optimizing libraries
Regenerating library entries
Rebuilding workspaces and targets
Migrating targets
Exporting and importing entries
Creating runtime libraries
Including additional resources
Creating reports on library contents
Creating library entry reports
Creating the library directory report
Writing Scripts
About the Script view
Opening Script views
Modifying Script view properties
Editing scripts
Limiting size of scripts
Printing scripts
Pasting information into scripts
Reverting to the unedited version of a script
Using AutoScript
Using the AutoScript pop-up window
Customizing AutoScript
Example
Getting context-sensitive Help
Compiling the script
Handling problems
Declaring variables and external functions
Working with User-Defined Functions
About user-defined functions
Deciding which kind you want
Defining user-defined functions
Opening a Prototype window to add a new function
Defining the access level
Defining a return type
Naming the function
Defining arguments
Defining a THROWS clause
Coding the function
Compiling and saving the function
Modifying user-defined functions
Using your functions
Working with User Events
About user events
User events and event IDs
Event ID names
Defining user events
Using a user event
Examples of user event scripts
Working with Structures
About structures
Deciding which kind you want
Defining structures
Modifying structures
Using structures
Referencing structures
Copying structures
Using structures with functions
Displaying and pasting structure information
Working with Windows
About windows
Designing windows
Building windows
Types of windows
Main windows
Pop-up windows
Child windows
Response windows
MDI frames
About the Window painter
Building a new window
Creating a new window
Defining the window's properties
Using the General property page
Choosing the window size and position
Choosing the window pointer
Specifying window scrolling
Specifying toolbar properties
Adding controls
Adding nonvisual objects
Saving the window
Viewing your work
Previewing a window
Printing a window's definition
Writing scripts in windows
About events for windows and controls
About functions for windows and controls
About properties of windows and controls
Declaring instance variables
Examples of statements
Running a window
Using inheritance to build a window
Building two windows with similar definitions
Advantages of using inheritance
Instance variables in descendants
Control names in descendants
Working with Controls
About controls
Inserting controls in a window
Selecting controls
Defining a control’s properties
Naming controls
About the default prefixes
Changing the default prefixes
Changing the name
Changing text
How text size is stored
Moving and resizing controls
Moving and resizing controls using the mouse
Moving and resizing controls using the keyboard
Aligning controls using the grid
Aligning controls with each other
Equalizing the space between controls
Equalizing the size of controls
Copying controls
Defining the tab order
Establishing the default tab order
Changing the window's tab order
Defining accelerator keys
Specifying accessibility of controls
Using the Visible property
Using the Enabled property
Choosing colors
Using the 3D look
Using the individual controls
CommandButton
Specifying Default and Cancel buttons
PictureButton
CheckBox
RadioButton
StaticText
StaticHyperLink
Picture
PictureHyperLink
GroupBox
Drawing controls
SingleLineEdit and MultiLineEdit
EditMask
HScrollBar and VScrollBar
HTrackBar and VTrackBar
HProgressBar and VProgressBar
DropDownListBox
DropDownPictureListBox
ListBox
PictureListBox
ListView
TreeView
Tab
MonthCalendar
DatePicker
Animation
InkEdit and InkPicture
Understanding Inheritance
About inheritance
Creating new objects using inheritance
The inheritance hierarchy
Browsing the class hierarchy
Working with inherited objects
Using inherited scripts
Viewing inherited scripts
Extending a script
Overriding a script
Calling an ancestor script
Calling an ancestor function
Working with Menus and Toolbars
Menus and menu items
Using the Menu painter
Menu painter views
Menu styles
Building a new menu
Creating a new menu
Working with menu items
How menu items are named
Inserting menu items
Creating separation lines in menus
Duplicating menu items
Changing menu item text
Selecting menu items
Navigating in the menu
Moving menu items
Deleting menu items
Saving the menu
Defining the appearance and behavior of menu items
Setting General properties for menu items
Setting menu style properties for contemporary menus
Setting menu item style properties
Providing toolbars
How toolbars work
Adding toolbars to a window
Selecting a toolbar style
Setting toolbar properties
Toolbar style properties
Toolbar item display characteristics
Setting toolbar properties in the Window painter
Setting toolbar properties in the Application painter
Writing scripts for menu items
Menu item events
Using functions and variables
Referring to objects in your application
Using inheritance to build a menu
Using the inherited information
Inserting menu items in a descendent menu
Using menus in your applications
Adding a menu bar to a window
Displaying pop-up menus
Working with User Objects
About user objects
Class user objects
Visual user objects
Building user objects
About the User Object painter
Building a new user object
Creating a new user object
Building a custom class user object
Building a standard class user object
Building a custom visual user object
Building an external visual user object
Building a standard visual user object
Events in user objects
Saving a user object
Naming the user object
Using inheritance to build user objects
Using the inherited information
Using user objects
Using visual user objects
Using class user objects
Using global standard class user objects
Communicating between a window and a user object
Examples of user object controls affecting a window
Managing the Database
Working with database components
Managing databases
Using the Database painter
Modifying database preferences
Logging your work
Creating and deleting a SQL Anywhere database
Working with tables
Creating a new table from scratch
Creating a new table from an existing table
Specifying column definitions
Specifying table and column properties
Specifying table properties
Specifying column extended attributes
Specifying additional properties for character columns
Altering a table
Cutting, copying, and pasting columns
Closing a table
Dropping a table
Viewing pending SQL changes
Printing the table definition
Exporting table syntax
About system tables
Creating and editing temporary tables
Working with keys
Working with indexes
Working with database views
Manipulating data
Retrieving data
Modifying data
Sorting rows
Filtering rows
Viewing row information
Importing data
Printing data
Saving data
Creating and executing SQL statements
Building and executing SQL statements
Creating stored procedures
Controlling comments
Entering SQL
Explaining SQL
Executing SQL
Customizing the editor
Controlling access to the current database
Using the ASA MobiLink synchronization wizard
What the wizard generates
Wizard options
Trying out MobiLink synchronization
Managing MobiLink synchronization on the server
Starting the MobiLink synchronization server
Using Sybase Central
Working with Data Pipelines
About data pipelines
Defining a data pipeline
Piping extended attributes
Creating a data pipeline
Modifying the data pipeline definition
Choosing a pipeline operation
Dependency of modifications on pipeline operation
When execution stops
Whether rows are committed
Piping blob data
Changing the destination and source databases
Correcting pipeline errors
Saving a pipeline
Using an existing pipeline
Pipeline examples
Defining DataWindow Objects
About DataWindow objects
DataWindow object examples
How to use DataWindow objects
Choosing a presentation style
Using the Tabular style
Using the Freeform style
Using the Grid style
Using the Label style
Using the N-Up style
Using the Group style
Using the Composite style
Using the Graph and Crosstab styles
Using the OLE 2.0 style
Using the RichText style
Using the TreeView style
Building a DataWindow object
Selecting a data source
Using Quick Select
Selecting a table
Selecting columns
Specifying sorting criteria
Specifying selection criteria
SQL expression examples
Using SQL Select
Selecting tables and views
Selecting columns
Displaying the underlying SQL statement
Joining tables
Using ANSI outer joins
Using retrieval arguments
Specifying selection, sorting, and grouping criteria
Using Query
Using External
Using Stored Procedure
Using a Web service data source
Choosing DataWindow object-wide options
Generating and saving a DataWindow object
About the extended attribute system tables and DataWindow objects
Saving the DataWindow object
Naming the DataWindow object
Modifying an existing DataWindow object
Defining queries
Previewing the query
Saving the query
Modifying a query
What's next
Enhancing DataWindow Objects
Working in the DataWindow painter
Understanding the DataWindow painter Design view
The header band
The detail band
The summary and footer bands
Using the DataWindow painter toolbars
Using the Properties view in the DataWindow painter
Selecting controls in the DataWindow painter
Resizing bands in the DataWindow painter Design view
Using zoom in the DataWindow painter
Undoing changes in the DataWindow painter
Using the Preview view of a DataWindow object
Retrieving data
Modifying data
Viewing row information
Importing data into a DataWindow object
Using print preview
Printing data
Working in a grid DataWindow object
Saving data in an external file
Saving the data as PDF
Saving as PDF using the distill method
Saving as PDF using XSL-FO
Saving as XSL-FO
System requirements for XSL-FO
Saving the data in HTML Table format
Working with PSR files
Modifying general DataWindow object properties
Changing the DataWindow object style
Setting colors in a DataWindow object
Setting gradients and background pictures in a DataWindow object
Setting transparency properties for a DataWindow object
Specifying properties of a grid DataWindow object
Specifying pointers for a DataWindow object
Defining print specifications for a DataWindow object
Printing with newspaper-style columns
Modifying text in a DataWindow object
Defining the tab order in a DataWindow object
Naming controls in a DataWindow object
Using borders in a DataWindow object
Specifying variable-height bands in a DataWindow object
Modifying the data source of a DataWindow object
Modifying SQL SELECT statements
Modifying the result set
Storing data in a DataWindow object using the Data view
What happens at runtime
Retrieving data
Prompting for retrieval criteria in a DataWindow object
Retrieving rows as needed
Saving retrieved rows to disk
Working with Controls in DataWindow Objects
Adding controls to a DataWindow object
Adding columns to a DataWindow object
Adding text to a DataWindow object
Adding drawing controls to a DataWindow object
Adding a group box to a DataWindow object
Adding pictures to a DataWindow object
Adding computed fields to a DataWindow object
Computed columns versus computed fields
Defining a computed field in the DataWindow painter Design view
Adding buttons to a DataWindow object
Controlling the display of buttons in print preview and in printed output
Actions assignable to buttons in DataWindow objects
Adding graphs to a DataWindow object
Adding InkPicture controls to a DataWindow object
Adding OLE controls to a DataWindow object
Adding reports to a DataWindow object
Adding table blob controls to a DataWindow object
Adding tooltips to a DataWindow control
Reorganizing controls in a DataWindow object
Displaying boundaries for controls in a DataWindow object
Using the grid and the ruler in a DataWindow object
Deleting controls in a DataWindow object
Moving controls in a DataWindow object
Copying controls in a DataWindow object
Resizing controls in a DataWindow object
Aligning controls in a DataWindow object
Equalizing the space between controls in a DataWindow object
Equalizing the size of controls in a DataWindow object
Sliding controls to remove blank space in a DataWindow object
Positioning controls in a DataWindow object
Rotating controls in a DataWindow object
Controlling Updates in DataWindow objects
About controlling updates
What you can do
Specifying the table to update
Specifying the unique key columns
Specifying an identity column
Specifying updatable columns
Specifying the WHERE clause for update/delete
Specifying update when key is modified
Using stored procedures to update the database
Using a Web service to update the database
Displaying and Validating Data
About displaying and validating data
Presenting the data
Validating data
About display formats
Working with display formats
Working with display formats in the Database painter
Working with display formats in the DataWindow painter
Defining display formats
Number display formats
String display formats
Date display formats
Time display formats
About edit styles
Working with edit styles
Working with edit styles in the Database painter
Working with edit styles in the DataWindow painter
Defining edit styles
The Edit edit style
The DropDownListBox edit style
The CheckBox edit style
The RadioButtons edit style
The EditMask edit style
The DropDownDataWindow edit style
The RichText edit style
The InkEdit edit style
Defining a code table
How code tables are implemented
How code tables are processed
Validating user input
About validation rules
Understanding validation rules
Working with validation rules
Defining validation rules
Defining a validation rule in the Database painter
Defining the expression
Using match values for character columns
Customizing the error message
Specifying initial values
Defining a validation rule in the DataWindow painter
Specifying the expression
Examples
How to maintain extended attributes
Filtering, Sorting, and Grouping Rows
Filtering rows
Sorting rows
Suppressing repeating values
Grouping rows
Using the Group presentation style
Defining groups in an existing DataWindow object
Specifying the grouping columns
Sorting the rows
Rearranging the DataWindow object
Adding summary statistics
Sorting the groups
Highlighting Information in DataWindow Objects
Highlighting information
Modifying properties when designing
Modifying properties at runtime
Modifying properties conditionally at runtime
Example 1: creating a gray bar effect
Example 2: rotating controls
Example 3: highlighting rows of data
Example 4: changing the size and location of controls
Supplying property values
Background.Color
Border
Brush.Color
Brush.Hatch
Color
Font.Escapement (for rotating controls)
Font.Height
Font.Italic
Font.Strikethrough
Font.Underline
Font.Weight
Format
Height
Pen.Color
Pen.Style
Pen.Width
Pointer
Protect
Timer_Interval
Visible
Width
X
X1, X2
Y
Y1, Y2
Specifying colors
Using Nested Reports
About nested reports
Creating a report using the Composite presentation style
Placing a nested report in another report
Placing a related nested report in another report
Placing an unrelated nested report in another report
Working with nested reports
Adjusting nested report width and height
Changing a nested report from one report to another
Modifying the definition of a nested report
Adding another nested report to a composite report
Supplying retrieval arguments to relate a nested report to its base report
Specifying criteria to relate a nested report to its base report
Using options for nested reports
Working with Graphs
About graphs
Parts of a graph
How data is represented
Organization of a graph
Types of graphs
Area, bar, column, and line graphs
Pie graphs
Scatter graphs
Three-dimensional graphs
Stacked graphs
Using graphs in applications
Using graphs in DataWindow objects
Placing a graph in a DataWindow object
Using the graph's Properties view
Changing a graph's position and size
Associating data with a graph
Specifying which rows to include in a graph
Specifying the categories
Specifying the values
Specifying the series
Examples
Using the Graph presentation style
Defining a graph's properties
Using the General page in the graph's Properties view
Sorting data for series and categories
Specifying text properties for titles, labels, axes, and legends
Specifying overlap and spacing
Specifying axis properties
Specifying a pointer
Using graphs in windows
Working with Crosstabs
About crosstabs
Two types of crosstabs
Creating crosstabs
Associating data with a crosstab
Specifying the information
Viewing the crosstab
Specifying more than one row or column
Previewing crosstabs
Enhancing crosstabs
Specifying basic properties
Modifying the data associated with the crosstab
Changing the names used for the columns and rows
Defining summary statistics
Using crosstab functions
Cross-tabulating ranges of values
Creating static crosstabs
Using property conditional expressions
Working with TreeViews
TreeView presentation style
Creating a new TreeView DataWindow
TreeView creation process
Creating a TreeView DataWindow
Adding and deleting TreeView levels
Selecting a tree node and navigating the tree
Sorting rows in a TreeView DataWindow
TreeView DataWindow Design view
Setting properties for the TreeView DataWindow
Setting general TreeView properties
Setting TreeView level properties
Setting detail band properties
TreeView DataWindow examples
Data Explorer sample
Data Linker sample
Exporting and Importing XML Data
About XML
Valid and well-formed XML documents
XML syntax
XML parsing
XML support in the DataWindow painter
The Export/Import Template view for XML
Creating templates
Saving templates
Header and Detail sections
Header section
Detail section
Editing XML templates
XML declaration
Document type declaration
Root element
Controls
DataWindow expressions
Attributes
Composite and nested reports
CDATA sections
Comments
Processing instructions
Exporting to XML
Setting data export properties
The Use Template property
Generating group headers
Formatting the exported XML
Exporting metadata
Selecting templates at runtime
Importing XML
Importing with a template
Example
Default data import
Example with no empty elements
Example with empty elements
Tracing import
Working with Rich Text
About rich text
Using the RichText presentation style
Creating the DataWindow object
Formatting for RichText objects within the DataWindow object
The whole RichText DataWindow
Selected text and paragraphs
Input fields
Pictures
Previewing and printing
Using the RichTextEdit control
Formatting keys and toolbars
Using OLE in a DataWindow Object
About using OLE in DataWindow objects
OLE objects and the OLE presentation style
Adding an OLE object to a DataWindow object
Using the OLE presentation style
Defining the OLE object
Specifying data for the OLE object
Previewing the DataWindow object
Activating and editing the OLE object
Changing the object in the control
Using OLE columns in a DataWindow object
Creating an OLE column
Debugging and Running Applications
Overview of debugging and running applications
Debugging an application
Starting the debugger
Setting breakpoints
Running in debug mode
Examining an application at a breakpoint
Examining variable values
Watching variables and expressions
Monitoring the call stack
Examining objects in memory
Using the Source view
Using the Source Browser view
Using the Source History view
Stepping through an application
Debugging windows opened as local variables
Just-in-time debugging
Using the DEBUG preprocessor symbol
Breaking into the debugger when an exception is thrown
Running an application
Running the application
Handling errors at runtime
Tracing and Profiling Applications
About tracing and profiling an application
Collecting trace information
Tracing an entire application in PowerBuilder
Using a window
Collecting trace information using PowerScript functions
Analyzing trace information using profiling tools
Profiling Class View
Profiling Routine View
Profiling Trace View
Setting call aggregation preferences
Analyzing trace information programmatically
Analyzing performance with a call graph model
Using the BuildModel function to build a call graph model
Extracting information from the call graph model
Analyzing structure and flow using a trace tree model
Using BuildModel to build a trace tree model
Extracting information from the trace tree model
Accessing trace data directly
Using the TraceFile object
Generating a trace file without timing information
Creating Executables and Components
About building PowerBuilder targets
Creating a project
Using the Project painter
Defining an executable application project
Using dynamic libraries
Attaching or embedding manifest files
Distributing resources
Distributing resources separately
Using PowerBuilder resource files
What happens at runtime
Tracing execution
Building an executable file and dynamic libraries
How PowerBuilder builds the project
How PowerBuilder searches for objects
Which objects are copied to the executable file
Which objects are not copied to the executable file
Which objects are not copied to the dynamic libraries
How to include the objects that were not found
Listing the objects in a project
Building components, proxies, and .NET targets
The Extended Attribute System Tables
About the extended attribute system tables
The extended attribute system tables
Edit style types for the PBCatEdt table
CheckBox edit style (code 85)
RadioButton edit style (code 86)
DropDownListBox edit style (code 87)
DropDownDataWindow edit style (code 88)
Edit edit style (code 89)
Edit Mask edit style (code 90)
The OrcaScript Language
About OrcaScript
OrcaScript Commands
Usage notes for OrcaScript commands and parameters
Getting Started
About this book
Introduction to PowerBuilder
What PowerBuilder is
The PowerBuilder environment
PowerBuilder objects
About the PowerBuilder Tutorial
Learning to build a client/server application
Learning to build a .NET Web Forms application
Learning to build a .NET Windows Forms application
How you will proceed
How long it will take
What you will learn
Setting up for the tutorial
Starting PowerBuilder
Create a new workspace
Create a target
Specify an icon for the application
Change the size of the main window
Run the application
Customizing the PowerBuilder Environment
Manipulate the System Tree window
Open an object
Manipulate views
Set up the toolbars
Building a Login Window
Create a new window
Add controls to the window
Change the tab order on the window
Code some Help events and preview the window
Write the script to open the window
Connecting to the Database
Look at the EAS Demo DB database
Run the Connection Object wizard
Declare a global variable
Modify the connection information
Complete the login and logout scripts
Run the application
Modifying the Ancestor Window
Add a library to the search path
Create a new ancestor sheet window
Add user events and event scripts
Add scripts to retrieve data for the DataWindow controls
Adjust a runtime setting for sheet window size
Setting Up the Menus
Modify the frame menu
Create a new sheet menu
Add menu scripts to trigger user events
Attach the new menu and run the application
Building DataWindow Objects
Create and preview a new DataWindow object
Save the DataWindow object
Make cosmetic changes to the first DataWindow object
Create a second DataWindow object
Make cosmetic changes to the second DataWindow object
Attaching the DataWindow Objects
Attach the DataWindow object to the master DataWindow control
Attach the DataWindow object to the detail DataWindow control
Run the application
Attach DataWindow objects to the Product window
Run the application again
Running the Debugger
Add breakpoints in application scripts
Run in debug mode
Set a watch and a conditional breakpoint
Exception Handling
Add a new sheet window to the existing application
Create user-defined exception objects
Create a new user function and user event
Call the methods and catch the exceptions
Run the application
Preparing the Application for Deployment
Create the Project object
Create the executable file
Create a shortcut
Test the executable file
What to do next
Converting the PowerBuilder Tutorial to a Web Forms Application
Run the tutorial in PowerBuilder
Make changes for a .NET Web Forms application
Create a .NET Web Forms target and project
Deploy a .NET Web Forms project
Run the application from a Web browser
Converting the PowerBuilder Tutorial to a Windows Forms Application
Run the tutorial in PowerBuilder
Copy resource files to the Solutions directory
Create a .NET Windows Forms target and project
Deploy and run the Windows Forms target
Publish the application to a Web browser
Install the application from a Web browser and run it
Install the application on another computer
Update the application
PowerBuilder .NET Features Guide
About PowerBuilder .NET
PowerBuilder .NET Architecture
WPF Control Classes
Semantic Differences
Runtime Requirements for PowerBuilder .NET
Advantages of WPF Applications
Modified and Unsupported Features in PowerBuilder .NET
Behavior Changes for Runtime Controls
Conditional Compilation in PowerBuilder .NET Targets
Memory Tuning for Large Applications
Graphic User Interface
Visual Studio Shell Features
Solution Explorer in PowerBuilder .NET
PowerBuilder .NET Toolbox
Document Outline
PB Object Outline
Toolbars in the IDE
Options Dialog Box
New and Inherit From Object Dialog Boxes
Customizing the New Dialog Box
PowerBuilder .NET Painters
About the Enumeration Painter
About the Interface Painter
Project Painter User Interface
Window Painter in PowerBuilder .NET
Building a New WPF Window
Creating a New WPF Window
Defining the WPF Window Properties
Adding Controls to WPF Windows
MDI Applications in PowerBuilder .NET
Creating an MDI Frame Window
Using Sheets in a PowerBuilder .NET Application
Menus and Toolbars for PowerBuilder .NET Applications
Menus and Menu Items
Menu Painter in PowerBuilder .NET
Menu Painter Views
Views for the Top Level Menu Object
Views for Submenu Items
Menu Styles in PowerBuilder .NET
Building a New Menu in PowerBuilder .NET
Creating a New Menu
Working with Menu Items in PowerBuilder .NET
Inserting Menu Items
Inserting Multiple Menu Bar Items in a New Menu
Adding a Drop-down Menu to an Item on the Menu Bar
Adding a Cascading Menu to an Item in a Drop-down Menu
Creating Separation Lines in Menus
Duplicating Menu Items
Changing Menu Item Text
Navigating in the Menu
Moving Menu Items
Saving the Menu
Deleting Menu Items
Menu Item Appearance and Behavior in PowerBuilder .NET
General Properties for Menu Items
Accelerator and Shortcut Keys in Menus
Assigning a Shortcut Key to Menu Items
Accessibility of Menu Items
Using the Visible Property
Using the Enabled Property
MenuFocusable Property
Toolbars for Applications
Adding Toolbars to a Window
Selecting a Toolbar Style
Writing Scripts for Menu Items
Using Inheritance to Build a Menu
Menus in Your PowerBuilder .NET Applications
Adding a Menu Bar to a Window
Add and Change Menu Bars Using Scripts
Displaying Pop-up Menus in Windows
User Objects
Third-Party and Custom Controls
Adding WPF Controls to the Toolbox
Adding Third-Party and Custom WPF Controls to Windows
Adding Third-Party and Custom Controls to DataWindow Objects
Source Control in PowerBuilder .NET
Adding Solutions to Source Control
Add-ins in the PowerBuilder .NET Environment
PowerBuilder .NET Targets and Projects
Creating a WPF Window Target
Creating and Building a WPF Project
WPF Window Application Target and Project Properties
Dependency Checker
WPF Window Application Runtime Requirements
Creating a PB Assembly Target
PB Assembly Target
PB Assembly Target and Project Properties
Creating a .NET Assembly Target
.NET Assembly Target and Project Properties
.NET Assembly Deployment
Support for CVUOs in .NET Assemblies
Creating a WCF Service Target
About WCF Services
WCF Service Target and Project Properties
WCF Service Class Attributes
WCF Service Operation Attributes
Modifying the Configuration File
WCF Service Configuration File Attributes
PowerBuilder .NET Datatype Mapping
WCF Service Project Deployment
Creating a WCF Client
About WCF Clients
Creating a REST Client
About REST Clients
REST Client Project Properties
Using Variables in REST Client Method URLs
REST Client Deployment
REST Service Classes
Adding Resources to a Target
Batch Command Processing
Scripts and Code Fundamentals
Script View in PowerBuilder .NET
Script Navigation Option
Opening the Script View
Modifying Script View Properties
Editing Scripts
Handling Problems with Script Compilation
Code Snippets
IntelliSense
Identifier Names
Inner Control Properties and Methods
Declaring Variables and External Functions
Memory Allocation for External Functions
Go To Definition
Skin Selection for Applications and Controls
Right-To-Left Formatting
FlowDirection Property
Coding Restrictions
Accelerator Characters in Control Labels
Keywords as Identifiers
Supported Custom Events
Using Multithreading
Unsupported Properties, Events, and Functions
XAML
AutoWidth for User Object
CLS Compliance in PowerBuilder
CLS Roles
PowerBuilder Array Enhancements
Runtime Array Bounds
Returning an Array for a Function or Event
Jagged Array Support
.NET System.Array Support
BitRight and BitLeft Operator Support
Inheritance from .NET System.Object
Declaring a Namespace
Access Order with Unqualified Names
Syntax for Returning Namespace Names
Defining an Interface
Implementing an Interface
Deleting a Declared Interface
System Interface Syntax
Inheriting from a .NET Class
Syntax to Support Inheritance from a .NET Class
Members in an Inherited .NET Object
Adding a Parameterized Constructor
Defining .NET Properties
Defining Indexers
Creating a Global User-Defined Enumeration
Syntax for User-Defined Enumerations
Creating a Local User-Defined Enumeration
Consuming a .NET Delegate
Syntax for Consuming .NET Delegates
Support .NET Events
Consume .NET Events
Syntax for Consuming Generic Classes
Using an Enumerator to Traverse a .NET Collection
Enhancements to .NET Component Projects
DataWindows
DataWindows in PowerBuilder .NET
Using DataWindow Objects in PowerBuilder .NET
DataWindow Differences Between PowerBuilder Classic and PowerBuilder .NET
Behavior Changes for DataWindow Objects
Presentation Styles for DataWindow Objects
Selecting a SQL Data Source
Using SQL Select
Defining the Data Using SQL Select
Selecting Tables and Views Using SQL Select
Table Layout View in SQL Select
Specifying What Appears in Table Layout
Selecting Columns Using SQL Select
Including Computed Columns Using SQL Select
Queries in PowerBuilder .NET
Previewing the Query
Saving the Query
Modifying the Query
About Composite Controls
Creating a Composite Control
DataWindow Object Enhancements
DataWindow Painter
DataWindow Painter Design View
Header Band in DataWindows
Detail Band in DataWindows
Summary and Footer Bands
DataWindow Painter Toolbars
Properties View in the DataWindow Painter
Using the Preview View of a DataWindow Object
Saving Data to an External File
Controls in DataWindow Objects
Adding Controls to a DataWindow Object
Adding Columns to a DataWindow Object
Adding Text to a DataWindow Object
Adding Drawing Controls to a DataWindow Object
Adding a GroupBox to a DataWindow Object
Adding Pictures to a DataWindow Object
Adding Computed Fields to a DataWindow Object
Computed Columns Versus Computed Fields
Insert a Computed Field for the Current Date or Page Number
Adding Buttons to a DataWindow Object
Actions Assignable to Buttons in DataWindow Objects
Add Graphs to DataWindow Objects
Adding InkPicture Controls to a DataWindow Object
Adding Third-Party and Custom Controls to DataWindow Objects
Adding a TableBlob to a DataWindow Object
Adding Reports and Child DataWindows to a DataWindow Object
Tooltips in DataWindow Objects
About Child DataWindows
Adding Child DataWindows to a DataWindow
Child DataWindow Object
Graphs in PowerBuilder .NET
Parts of a Graph
Types of Graphs in PowerBuilder .NET
Area, Bar, Column, and Line Graphs
Pie and Donut Graphs
Scatter and Bubble Graphs
SetBubbleSize Method
BubbleSize Property
Three-Dimensional Graphs
Radar Graphs
Stacked Graphs
Cone Graphs
Candlestick Graphs
Integer for PowerBuilder .NET GraphType Property
Graph Differences Between PowerBuilder Classic and PowerBuilder .NET
Palettes for Graphs
LoadPalette Method
SavePalette Method
SetDefaultBrushTable Method
Axis Frames for Three-Dimensional Graphs
Tooltip Functions for Graphs
GetCurrentCategory
GetCurrentSeries
GetCurrentValue
Database Management in PowerBuilder .NET
Defining Database Profiles
The Database Painter in PowerBuilder .NET
Manipulating Data in the Database Painter
SQL Statements in the Database Painter
DSI Database Trace Tool
Sharing ADO.NET Database Connections
About ADO.NET Database Connections
Exporting an ADO.NET Database Connection
Importing an ADO.NET Database Connection
Debugging an Application
PowerBuilder .NET Debugger Changes
Debugging and the Development Cycle
Setting a Breakpoint
Setting a Breakpoint in a Script
Changing a Breakpoint Location
Conditional Breakpoints and Hit Counts
Setting a Breakpoint Condition
Setting a Breakpoint Hit Count
Setting a Breakpoint Filter
Specifying a Tracepoint
Setting a Breakpoint on a Function
Disabling, Enabling, or Deleting a Breakpoint
Running in Debug Mode
Examining an Application
Examining a Variable or Expression
Monitoring the Call Stack
Debug Windows
Fixing Your Code
The DEBUG Preprocessor Directive
Using the DEBUG Preprocessor Directive
Breaking into the Debugger when an Exception is Thrown
WCF Client Proxy Reference
WCFConnection Object
Classes Supporting WCF Client Connections
BasicHttpMessageSecurity Class
BasicHttpSecurity Class
ClientCertificateCredential Class
HttpTransportSecurity Class
HttpDigestCredential Class
MessageSecurityOverTcp Class
NamedPipeTransportSecurity Class
NetNamedPipeSecurity Class
NetTcpSecurity Class
NoDualHttpMessageSecurity Class
ServiceCertificateCredential Class
TcpTransportSecurity Class
UserNameCredential Class
WCFBasicHttpBinding Class
WCFClientCredential Class
WCFConnection Class
WCFEndpointAddress Class
WCFEndpointIdentity Class
WCFSoapMessageHeader Class
WCFnetNamedPipeBinding Class
WCFnetTCPBinding Class
WCFProxyServer Class
WCFReaderQuotas Class
WCFReliableSession Class
WCFwsHttpBinding Class
WindowsCredential Class
wsHttpSecurity Class
WCF Client Methods
AddHttpRequestHeader Method
AddMessageHeaderItem Method
GetHttpResponseHeader Method
RemoveAllMessageHeaderItems Method
RemoveHttpRequestHeader Method
RemoveMessageHeaderItem Method
WCF Client System Constants
BasicHttpMessageCredentialType Enumeration
BasicHttpSecurityMode Enumeration
CertStoreLocation Enumeration
CertStoreName Enumeration
HttpClientCredentialType Enumeration
HttpProxyCredentialType Enumeration
HttpRequestHeaderType Enumeration
HttpResponseHeaderType Enumeration
ImpersonationLevel Enumeration
MessageCredentialType Enumeration
ProtectionLevel Enumeration
TcpClientCredentialType Enumeration
WCFBindingType Enumeration
WCFEndpointIdentity Enumeration
WCFHMAC Enumeration
wsSecurityMode Enumeration
WSTransferMode Enumeration
Application Techniques
About this book
Using Sample Applications
About the sample applications
Samples on the Web
Samples on the DVD
Installing the sample applications
Opening the sample applications
Using the Code Examples application
Browsing the examples
Finding examples
Running and examining examples
Selected Object-Oriented Programming Topics
Terminology review
PowerBuilder techniques
Other techniques
Selected PowerScript Topics
Dot notation
Constant declarations
Controlling access for instance variables
Resolving naming conflicts
Return values from ancestor scripts
Types of arguments for functions and events
Ancestor and descendent variables
Optimizing expressions for DataWindow and external objects
Exception handling in PowerBuilder
Basics of exception handling
Objects for exception handling support
Handling exceptions
Creating user-defined exception types
Adding flexibility and facilitating object reuse
Using the SystemError and Error events
Garbage collection and memory management
Configuring memory management
Efficient compiling and performance
Reading and writing text or binary files
Getting Information About PowerBuilder Class Definitions
Overview of class definition information
Terminology
Who uses PowerBuilder class definitions
Examining a class definition
Getting a class definition object
Getting detailed information about the class
Getting information about a class’s scripts
Getting information about variables
Building an MDI Application
About MDI
Building an MDI frame window
Using sheets
Providing MicroHelp
Using toolbars in MDI applications
Customizing toolbar behavior
Saving and restoring toolbar settings
Sizing the client area
About keyboard support in MDI applications
Managing Window Instances
About window instances
Declaring instances of windows
Using window arrays
Referencing entities in descendants
Using Tab Controls in a Window
About Tab controls
Defining and managing tab pages
Customizing the Tab control
Using Tab controls in scripts
Referring to tab pages in scripts
Referring to controls on tab pages
Opening, closing, and hiding tab pages
Keeping track of tab pages
Creating tab pages only when needed
Events for the parts of the Tab control
Using TreeView Controls
About TreeView controls
Populating TreeViews
Functions for inserting items
Inserting items at the root level
Inserting items below the root level
Managing TreeView items
Deleting items
Renaming items
Moving items using drag and drop
Sorting items
Managing TreeView pictures
Pictures for items
Setting up picture lists
Using overlay pictures
Using DataWindow information to populate a TreeView
Using Lists in a Window
About presenting lists
Using lists
Using drop-down lists
Using ListView controls
Using report view
Using Drag and Drop in a Window
About drag and drop
Drag-and-drop properties, events, and functions
Identifying the dragged control
Providing Online Help for an Application
Creating help files
Providing online help for developers
Providing online help for users
Using Transaction Objects
About Transaction objects
Description of Transaction object properties
Transaction object properties and supported PowerBuilder database interfaces
Working with Transaction objects
Transaction basics
The default Transaction object
Assigning values to the Transaction object
Reading values from an external file
Connecting to the database
Using the Preview tab to connect in a PowerBuilder application
Disconnecting from the database
Defining Transaction objects for multiple database connections
Error handling after a SQL statement
Pooling database transactions
Using Transaction objects to call stored procedures
Step 1: define the standard class user object
Step 2: declare the stored procedure as an external function
Step 3: save the user object
Step 4: specify the default global variable type for SQLCA
Step 5: code your application to use the user object
Supported DBMS features when calling stored procedures
Using MobiLink Synchronization
About MobiLink synchronization
How the synchronization works
Working with PowerBuilder synchronization objects
Preparing to use the wizard
What gets generated
Creating an instance of MLSync
Auxiliary objects for MobiLink synchronization
Using the synchronization objects in your application
Runtime requirements for synchronization on remote machines
Preparing consolidated databases
Connection events
Table events
Working with scripts and users in Sybase Central
Creating remote databases
Creating and modifying publications
Creating MobiLink users
Adding subscriptions
Synchronization techniques
Using PowerBuilder XML Services
About XML and PowerBuilder
About PBDOM
PBDOM object hierarchy
PBDOM node objects
PBDOM_OBJECT
PBDOM_DOCUMENT
PBDOM_DOCTYPE
PBDOM_ELEMENT
PBDOM_ATTRIBUTE
PBDOM_ENTITYREFERENCE
PBDOM_CHARACTERDATA
PBDOM_TEXT
PBDOM_CDATA
PBDOM_COMMENT
PBDOM_PROCESSINGINSTRUCTION
Adding pbdom125.pbx to your application
Using PBDOM
Validating the XML
Creating an XML document from XML
Creating an XML document from scratch
Accessing node data
Manipulating the node-tree hierarchy
Handling PBDOM exceptions
XML namespaces
Setting the name and namespace of a PBDOM_ATTRIBUTE
Manipulating Graphs
Using graphs
Working with graph controls in code
Populating a graph with data
Modifying graph properties
How parts of a graph are represented
Referencing parts of a graph
Accessing data properties
Getting information about the data
Saving graph data
Modifying colors, fill patterns, and other data
Using point and click
Implementing Rich Text
Using rich text in an application
Sources of rich text
Deploying a rich text application
Using a RichText DataWindow object
Using a RichTextEdit control
Giving the user control
Text for the control
Opening and saving files: an example
Using an ActiveX spell checking control
Formatting of rich text
Input fields
Using database data
Cursor position in the RichTextEdit control
Preview and printing
Rich text and the end user
Piping Data Between Data Sources
About data pipelines
Building the objects you need
Building a Pipeline object
Building a supporting user object
Building a window
Performing some initial housekeeping
Starting the pipeline
Monitoring pipeline progress
Canceling pipeline execution
Committing updates to the database
Handling row errors
Repairing error rows
Abandoning error rows
Performing some final housekeeping
Using DDE in an Application
About DDE
DDE functions and events
Using OLE in an Application
OLE support in PowerBuilder
OLE controls in a window
OLE controls and insertable objects
Setting up the OLE control
Activating the object in the painter
Changing the object in the control
How the user interacts with the control
Linking versus embedding
Offsite or in-place activation
Menus for in-place activation
Modifying an object in an OLE control
Activating the OLE object
Changing the object in an OLE control
Events for the OLE control
OLE custom controls
Setting up the custom control
Programming the ActiveX control
Programmable OLE Objects
OLEObject object type
Assignments among OLEControl, OLECustomControl, and OLEObject datatypes
Automation scenario
Example: generating form letters using OLE
OLE objects in scripts
The automation interface
Setting properties
Calling functions
Qualifying server commands
Automation and the Any datatype
OLEObjects for efficiency
Handling errors
Creating hot links
Setting the language for OLE objects and controls
Low-level access to the OLE object
OLE objects in DataWindow objects
OLE columns in an application
OLE information in the Browser
Advanced ways to manipulate OLE objects
Structure of an OLE storage
Object types for storages and streams
Opening and saving storages
Getting information about storage members
Example: building a storage
Opening streams
Strategies for using storages
Building a Mail-Enabled Application
About MAPI
Using MAPI
Using External Functions and Other Processing Extensions
Using external functions
Declaring external functions
Sample declarations
Passing arguments
Passing numeric datatypes
Passing strings
Passing characters
Calling external functions on UNIX
Using utility functions to manage information
Sending Windows messages
The Message object
Message object properties
Context information
Context information service
Context keyword service
CORBACurrent service
Error logging service
Internet service
Secure Sockets Layer service
Transaction server service
Distributed Application Development with PowerBuilder
Distributed application architecture
Server support
Building an EAServer Component
About building an EAServer component
About using the wizards
About the development process
Creating an application server profile
Working with shared and service components
About shared components
About service components
Threading issues and component types
Using the EAServer Thread Manager
Providing support for instance pooling
Providing support for transactions
Accessing a database from an EAServer component
Using connection caching
Performing retrieval operations
Example: passing an array by reference
Performing updates
Typical usage scenario
Example
Passing result sets
Defining the component interface
Implementing an existing interface
Invoking another server component’s methods
Accessing component properties
Exposing an NVO as a Web service
Testing and debugging the component
Live editing
Remote debugging
Putting messages into the EAServer log
Printing data
Printing on the Solaris operating system
Setting up a printer
Printing to PDF
Deploying a component to EAServer
Building an EAServer Client
About building an EAServer client
About using the wizards
About the development process
Connecting to EAServer
Writing the code by hand
Setting options
Using the wizard to create a Connection object
Generating EAServer proxy objects
Invoking component methods
Invoking a component method
Invoking an EJB component method
Destroying instances
Using the JaguarORB object
Instantiation using String_To_Object
Instantiation using the naming service API
Client- and component-demarcated transactions
Requesting a message back from the server
Example
Client application window
EAServer component
Shared object definition
Callback object definition
Handling errors
Handling CORBA exceptions
Scripting the Error event
Scripting the SystemError event
Deploying the client application
Best Practices for EAServer clients including HA/Failover
Using SSL in PowerBuilder clients
Using secure connections with EAServer
SSL connections in PowerBuilder
SSL properties
ORB properties
Establishing a secure connection
Using SSL callbacks
Getting session information
Implementing the SSLCallback object
Specifying the SSLCallback object
Retrieving session security information
Building a COM or COM+ Client
About building a COM or COM+ client
Connecting to a COM server
Interacting with the COM component
Controlling transactions from a client
Building an EJB client
About building an EJB client
Adding pbejbclient125.pbx to your application
Generating EJB proxy objects
Using an EJB Proxy project
Using the ejb2pb125 tool
Viewing the generated proxies
Datatype mappings
Creating a Java VM
Connecting to the server
Invoking component methods
Exception handling
Client-managed transactions
Debugging the client
Web Application Development with PowerBuilder
Building Web applications
.NET Web Forms applications and components
Web services
Web DataWindow
DataWindow Web control for ActiveX
Building a Web Services Client
About Web services
About building a Web services client
Choosing a Web service engine
Using the .NET Web service engine
Using the EasySoap Web service engine
Assigning firewall settings to access a Web service
Importing objects from an extension file
Generating Web service proxy objects
Connecting to a SOAP server
Invoking the Web service method
Using .NET Web services with custom headers
Using cookies with the Web service client
Exception handling
Using the UDDI Inquiry API
Internationalizing an Application
Developing international applications
Using Unicode
About Unicode
Unicode support in PowerBuilder
Internationalizing the user interface
Localizing the product
About the Translation Toolkit
Building Accessible Applications
Understanding accessibility challenges
Accessibility requirements for software and Web applications
Creating accessible software applications with PowerBuilder
About VPATs
Testing product accessibility
Printing from an Application
Printing functions
Printing basics
Printing a job
Using tabs
Stopping a print job
Advanced printing techniques
Managing Initialization Files and the Windows Registry
About preferences and default settings
Managing information in initialization files
Managing information in the Windows registry
Building InfoMaker Styles and Actions
About form styles
Naming the DataWindow controls in a form style
Building and using a form style
Modifying an existing style
Identifying the window as the basis of a style
Building a style from scratch
Completing the style
Working with the central DataWindow controls
Adding controls
Defining actions
Using menus
Writing scripts
Adding other capabilities
Using the style
Building a form with the custom form style
Managing the use of form styles
Packaging an Application for Deployment
About deploying applications
Creating an executable version of your application
Compiler basics
Learning what can go in the package
Creating a PowerBuilder resource file
Choosing a packaging model
Implementing your packaging model
Testing the executable application
Delivering your application to end users
Installation checklist
Starting the deployed application
Deploying Applications and Components
Deploying applications, components, and supporting files
PowerBuilder Runtime Packager
Third-party components and deployment
Apache files
Microsoft files
Sun Microsystems files
Software used for SOAP clients for Web services
Telerik controls for Web Forms applications
PowerBuilder runtime files
Database connections
Native database drivers
ODBC database drivers and supporting files
OLE DB database providers
ADO.NET database interface
JDBC database interface
Java support
PowerBuilder extensions
PDF and XSL-FO export
Using the Ghostscript distiller
Using the Apache FO processor
DataWindow Web Control for ActiveX
PowerBuilder components on EAServer
Web DataWindow on EAServer
DataWindow Programmers Guide
About this book
About DataWindow Technology
About DataWindow objects, controls, and components
Presentation styles and data sources
Basic process
Choosing a DataWindow technology
Solutions for client/server and distributed applications
Solutions for Web applications
Web DataWindow
Sybase DataWindow Web control for ActiveX
.NET applications
WPF Window applications
PowerBuilder DataWindow control
Using DataWindow Objects
About using DataWindow objects
Putting a DataWindow object into a control
Names for DataWindow controls and DataWindow objects
Working with the DataWindow control in PowerBuilder
Defining reusable DataWindow controls
Editing the DataWindow object in the control
Specifying the DataWindow object during execution
Changing the DataWindow in PowerBuilder
Changing the DataWindow in the Web ActiveX
Accessing the database
Setting the transaction object for the DataWindow control
Internal transaction management
Transaction management with a separate transaction object
Retrieving and updating data
Basic data retrieval
Using retrieval arguments
Updating data
Accessing a Web service data source
Importing data from an external source
Manipulating data in a DataWindow control
How a DataWindow control manages data
Accessing the text in the edit control
Manipulating the text in the edit control
Coding the ItemChanged event
Coding the ItemError event
Accessing the items in a DataWindow
Using other DataWindow methods
Accessing the properties of a DataWindow object
Handling DataWindow errors
Retrieve and Update errors and the DBError event
Errors in property and data expressions and the Error event
Updating the database
How the DataWindow control updates the database
Changing row or column status programmatically
Creating reports
Planning and building the DataWindow object
Printing the report
Using nested reports
Using crosstabs
Viewing the underlying data
Letting users redefine the crosstab
Modifying the crosstab's properties during execution
Generating HTML
Controlling display
Calling the SaveAs method
Displaying DataWindow objects as HTML forms
Dynamically Changing DataWindow Objects
About dynamic DataWindow processing
Modifying a DataWindow object
Creating a DataWindow object
Providing query ability to users
How query mode works
Using query mode
Providing Help buttons
Reusing a DataWindow object
Using DWSyntax
Describe
Modify
Create
Destroy
SyntaxFromSQL
Tips on the syntax generated by DWSyntax
Using DataStore Objects
About DataStores
Working with a DataStore
Using a custom DataStore object
Accessing and manipulating data in a DataStore
Sharing information
Example: printing data from a DataStore
Example: using two DataStores to process data
Manipulating Graphs
Using graphs
Modifying graph properties
How parts of a graph are represented
Referencing parts of a graph
Accessing data properties
Getting information about the data
Saving graph data
Modifying colors, fill patterns, and other data
Using graph methods
Using point and click
Using the Web DataWindow
What the Web DataWindow is
Web DataWindow types
How the Web DataWindow works
The Web DataWindow server component and client control
Using the XML Web DataWindow
About XML, XSLT, CSS, and XHTML
How the XML Web DataWindow works
Server-side and client-side activity
Benefits of XHTML Web pages
Browser requirements for the XML Web DataWindow
How to use the XML Web DataWindow
Designing DataWindow objects for the Web DataWindow
Web DataWindow properties
Setting Web generation properties for the Web DataWindow
Controlling the size of generated code
Using drop-down DataWindows
Callback and client-side paging support
Using JavaScript caching for Web DataWindow methods
Using expressions
Using foreign language character sets
Providing links for data
Rendering HTML for controls in an HTML Web DataWindow
Using Button and Picture controls
Specifying Web generation for a specific browser
Previewing the DataWindow
Setting up database connections
Deploying DataWindow objects to the component server
The Web DataWindow Container project wizard
Writing client-side scripts
Customizing Web DataWindow generation
The Export Template view for XHTML
What you can customize
The default XHTML export template
Managing templates
Creating and saving templates
Selecting the template to use
Template structure
Header section
Detail section
Editing XHTML export templates
Root element
DataWindow controls
DataWindow expressions
Element attributes
Style declarations
JavaScript event handlers
CDATA sections
Element Context Menus
Selecting XHTML export templates at runtime
Exporting the DataWindow Web form in XML and XSLT or in XHTML
Server-Side Processing for the Web DataWindow
Server configuration requirements
Instantiating and configuring the server component
Instantiating the component
Loading the DataWindow object
Controlling what is generated
Specifying the database connection and retrieving data
Passing page-specific data to the reloaded page
Passing user actions to the server component
Inserting the generated HTML or XHTML into the page
Using a custom server component
Creating a custom server component in EAServer
Setting properties for a custom component in EAServer
Instantiating the custom component
Maintaining state on the server
Using service classes
Defining a service class for PowerBuilder components
Defining a service class for Java components
Using the DataWindow Web Control for ActiveX
About the Web ActiveX
HTML for inserting the controls on a Web page
Object element
Properties and Param elements
DataWindow objects for the Web ActiveX
What the DataWindow object can include
Managing DataWindow objects in PowerBuilder libraries
Specifying a DataWindow object for the control
Using the DataWindow Transaction Object control
Making database connections
Connecting and retrieving data
Coding for the Web ActiveX
Datatypes for method arguments and return values
Setting event return codes
Deploying the Web ActiveX
Connecting to Your Database
About this book
Understanding Data Connections
How to find the information you need
Accessing data in PowerBuilder
Accessing the EAS Demo DB
Using database profiles
About creating database profiles
Creating a database profile
What to do next
Using the ODBC Interface
About the ODBC interface
What is ODBC?
Using ODBC in PowerBuilder
Components of an ODBC connection
Types of ODBC drivers
Ensuring the proper ODBC driver conformance levels
What are ODBC conformance levels?
Obtaining ODBC drivers
Using ODBC drivers with PowerBuilder Desktop
Getting help with ODBC drivers
Preparing ODBC data sources
Defining ODBC data sources
How PowerBuilder accesses the data source
PBODB125 initialization file
ODBCINST registry entries
ODBC registry entries
Database profiles registry entry
Defining multiple data sources for the same data
Displaying Help for ODBC drivers
Help for any ODBC driver
Selecting an ODBC translator
Defining the ODBC interface
Sybase SQL Anywhere
Supported versions for SQL Anywhere
Basic software components for SQL Anywhere
Preparing to use the SQL Anywhere data source
Defining the SQL Anywhere data source
Support for Transact-SQL special timestamp columns
What to do next
Using the JDBC Interface
About the JDBC interface
What is JDBC?
Using the JDBC interface
Components of a JDBC connection
JDBC registry entries
Supported versions for JDBC
Supported JDBC datatypes
Preparing to use the JDBC interface
Defining the JDBC interface
Using the OLE DB Interface
About the OLE DB interface
What is OLE DB?
Components of an OLE DB connection
Obtaining OLE DB data providers
Supported versions for OLE DB
Preparing to use the OLE DB interface
Defining the OLE DB interface
Using the ADO.NET Interface
About ADO.NET
About the PowerBuilder ADO.NET database interface
Components of an ADO.NET connection
OLE DB data providers
Preparing to use the ADO.NET interface
Defining the ADO.NET interface
Getting identity column values
Sharing ADO.NET Database Connections
Importing an ADO.NET Connection from a Third-Party .NET Assembly
Exporting an ADO.NET Connection to a Third-Party .NET Assembly
Using Native Database Interfaces
About native database interfaces
Components of a database interface connection
Using a native database interface
Using Adaptive Server Enterprise
Supported versions for Adaptive Server
Supported Adaptive Server datatypes
Basic software components for Adaptive Server
Preparing to use the Adaptive Server database
Defining the Adaptive Server database interface
Using Open Client security services
What are Open Client security services?
Requirements for using Open Client security services
Security services DBParm parameters
Using Open Client directory services
What are Open Client directory services?
Requirements for using Open Client directory services
Specifying the server name with Open Client directory services
Directory services DBParm parameters
Using PRINT statements in Adaptive Server stored procedures
Creating a report based on a cross-database join
Installing stored procedures in Adaptive Server databases
What are the PowerBuilder stored procedure scripts?
PBSYC.SQL script
PBSYC2.SQL script
How to run the scripts
Using ISQL to run the stored procedure scripts
Using SQL Advantage to run the stored procedure scripts
Using Informix
Supported versions for Informix
Supported Informix datatypes
Informix DateTime datatype
Informix Time datatype
Informix Interval datatype
Features supported by the I10 interface
Accessing Unicode data
Assigning an owner to the PowerBuilder catalog tables
Support for long object names
Renaming an index
SQL statement caching
Creating and dropping indexes without locking
Column-level encryption
Using multiple OUT parameters in user-defined routines
Basic software components for Informix
Preparing to use the Informix database
Defining the Informix database interface
Specifying the server name
Accessing serial values in a PowerBuilder script
Using Microsoft SQL Server
Supported versions for SQL Server
Supported SQL Server datatypes
Basic software components for Microsoft SQL Server
Preparing to use the SQL Server database
Defining the SQL Server database interface
Migrating from the MSS or OLE DB database interfaces
SQL Server 2005 features
SQL Server 2008 features
New database parameters
Support for new datatypes in SQL Server 2008
T-SQL enhancements
Unsupported SQL Server 2008 features
Notes on using the SNC interface
Using Oracle
Supported versions for Oracle
Supported Oracle datatypes
Datatype conversion
Basic software components for Oracle
Preparing to use the Oracle database
Defining the Oracle database interface
Specifying the Oracle server connect descriptor
Using Oracle stored procedures as a data source
What is an Oracle stored procedure?
What you can do with Oracle stored procedures
Using Oracle stored procedures with result sets
Using a large-object output parameter
RPC calls to stored procedures with array parameters
Using Oracle user-defined types
Support for HA event notification
ORA driver support for Oracle 11g features
Using DirectConnect
Using the DirectConnect interface
Connecting through the DirectConnect middleware product
Connecting through the Open ServerConnect middleware product
Selecting the type of connection
Supported versions for the DirectConnect interface
Supported DirectConnect interface datatypes
Basic software components for the DirectConnect interface
Preparing to use the database with DirectConnect
Defining the DirectConnect interface
Creating the extended attribute system tables in DB2 databases
Creating the extended attribute system tables
Using the DB2SYSPB.SQL script
Managing Database Connections
About database connections
When database connections occur
Using database profiles
Connecting to a database
Selecting a database profile
What happens when you connect
Specifying passwords in database profiles
Using the Preview tab to connect in a PowerBuilder application
Maintaining database profiles
Sharing database profiles
About shared database profiles
Setting up shared database profiles
Using shared database profiles to connect
Making local changes to shared database profiles
Maintaining shared database profiles
Importing and exporting database profiles
About the PowerBuilder extended attribute system tables
Logging in to your database for the first time
Displaying the PowerBuilder extended attribute system tables
Contents of the extended attribute system tables
Controlling system table access
Setting Use Extended Attributes or Read Only to control access
Granting permissions on system tables to control access
Setting Additional Connection Parameters
Basic steps for setting connection parameters
About the Database Profile Setup dialog box
Setting database parameters
Setting database parameters in the development environment
Setting database parameters in a PowerBuilder application script
Copying DBParm syntax from the Preview tab
Coding PowerScript to set values for the DBParm property
Reading DBParm values from an external text file
Setting database preferences
Setting database preferences in the development environment
Setting AutoCommit and Lock in the database profile
Setting preferences in the Database Preferences dialog box
Setting AutoCommit and Lock in a PowerBuilder application script
Copying AutoCommit and Lock syntax from the Preview tab
Coding PowerScript to set values for AutoCommit and Lock
Reading AutoCommit and Lock values from an external text file
Getting values from the registry
Troubleshooting Your Connection
Overview of troubleshooting tools
Using the Database Trace tool
About the Database Trace tool
How you can use the Database Trace tool
Contents of the Database Trace log
Format of the Database Trace log
Starting the Database Trace tool
Starting Database Trace in the development environment
Starting Database Trace in a PowerBuilder application
Starting a trace in PowerScript with the PBTrace parameter
Stopping the Database Trace tool
Stopping Database Trace in the development environment
Stopping Database Trace in a PowerBuilder application
Using the Database Trace log
Viewing the Database Trace log
Annotating the Database Trace log
Deleting or clearing the Database Trace log
Sample Database Trace output
Using the SQL statement trace utility
Using the ODBC Driver Manager Trace tool
About ODBC Driver Manager Trace
Starting ODBC Driver Manager Trace
Starting ODBC Driver Manager Trace in the development environment
Starting ODBC Driver Manager Trace in a PowerBuilder application
Stopping ODBC Driver Manager Trace
Stopping ODBC Driver Manager Trace in the development environment
Stopping ODBC Driver Manager Trace in a PowerBuilder application
Viewing the ODBC Driver Manager Trace log
Sample ODBC Driver Manager Trace output
Using the JDBC Driver Manager Trace tool
About JDBC Driver Manager Trace
Starting JDBC Driver Manager Trace
Starting JDBC Driver Manager Trace in the development environment
Starting JDBC Driver Manager Trace in a PowerBuilder application
Stopping JDBC Driver Manager Trace
Stopping JDBC Driver Manager Trace in the development environment
Stopping JDBC Driver Manager Trace in a PowerBuilder application
Viewing the JDBC Driver Manager Trace log
Making Database Connections in PowerBuilder Components
Deploying a component to EAServer
Supported database connections when using Shared Connection
Supported database connections when using Microsoft DTC
Supported database connections when using OTS/XA
Using the SYJ database interface
Using the JDB database interface
Specifying AutoCommit mode
DBParm support for PowerBuilder components
Using Embedded SQL with ODBC
ODBC SQL Support
ODBC Name qualification
ODBC SQL functions
DBHandle
ODBC Using escape clauses
ODBC Transaction management statements
ODBC Using CONNECT, DISCONNECT, COMMIT, and ROLLBACK
ODBC Performance and locking
ODBC Non-cursor statements
ODBC DELETE, INSERT, and UPDATE
ODBC SELECT
ODBC Cursor statements
ODBC Retrieval using cursors
ODBC FETCH NEXT
ODBC FETCH FIRST, FETCH PRIOR, and FETCH LAST
ODBC Update
ODBC Database stored procedures
ODBC Retrieval
ODBC DECLARE and EXECUTE
ODBC DECLARE and EXECUTE with PBNewSPInvocation
ODBC FETCH
ODBC CLOSE
ODBC EXECUTE
ODBC Using database stored procedures in DataWindow objects
Using Embedded SQL with JDBC
JDBC DECLARE and EXECUTE
Using Embedded SQL with OLE DB
OLE DB SQL support
OLE DB Name qualification
OLE DB SQL functions
OLE DB Using ODBC escape Sequences
OLE DB Transaction management statements
OLE DB Using CONNECT, DISCONNECT, COMMIT, and ROLLBACK
OLE DB Performance and locking
OLE DB Non-cursor statements
OLE DB DELETE, INSERT, and UPDATE
OLE DB SELECT
OLE DB Cursor statements
OLE DB Retrieval using cursors
OLE DB FETCH NEXT
OLE DB Database stored procedures
OLE DB Retrieval
OLE DB DECLARE and EXECUTE
OLE DB FETCH
OLE DB CLOSE
OLE DB EXECUTE
OLE DB Using database stored procedures in DataWindow objects
Using Embedded SQL with ADO.NET
ADO.NET DECLARE and EXECUTE
Using Embedded SQL with Sybase Adaptive Server Enterprise
Sybase Adaptive Server Enterprise Name qualification
Sybase Adaptive Server Enterprise SQL functions
Sybase Adaptive Server Enterprise Transaction management statements
Sybase Adaptive Server Enterprise Using CONNECT, COMMIT, DISCONNECT, and ROLLBACK
Sybase Adaptive Server Enterprise Using AutoCommit
Sybase Adaptive Server Enterprise Performance and locking
Sybase Adaptive Server Enterprise Non-cursor statements
Sybase Adaptive Server Enterprise DELETE, INSERT, and UPDATE
Sybase Adaptive Server Enterprise SELECT
Sybase Adaptive Server Enterprise Cursor statements
Sybase Adaptive Server Enterprise Retrieval Using Cursors
Sybase Adaptive Server Enterprise Closing the Cursor
Sybase Adaptive Server Enterprise Database stored procedures
Sybase Adaptive Server Enterprise Retrieval
Sybase Adaptive Server Enterprise DECLARE and EXECUTE
Sybase Adaptive Server Enterprise FETCH
Sybase Adaptive Server Enterprise CLOSE
Sybase Adaptive Server Enterprise Update
Sybase Adaptive Server Enterprise Return values and output parameters
Sybase Adaptive Server Enterprise Temporary tables
Sybase Adaptive Server Enterprise System stored procedures
Sybase Adaptive Server Enterprise Using database stored procedures in DataWindow objects
Using Embedded SQL with Informix
Informix name qualification
Informix transaction management statements
Informix using CONNECT, COMMIT, DISCONNECT, and ROLLBACK
Informix performance and locking
Informix non-cursor statements
Informix DELETE, INSERT, and UPDATE
Informix SELECT
Informix cursor statements
Informix retrieval using cursors
Informix nonupdatable cursors
Informix updatable cursors
Informix FETCH statements
Informix FETCH NEXT
Informix FETCH FIRST, FETCH PRIOR, and FETCH LAST
Informix CLOSE for cursors
Informix database stored procedures
Informix retrieval using database stored procedures
Informix DECLARE and EXECUTE
Informix FETCH
Informix CLOSE
Informix update using database stored procedures
Informix using database stored procedures in DataWindow objects
Informix database stored procedure summary
Using Embedded SQL with Microsoft SQL Server
Microsoft SQL Server Name qualification
Microsoft SQL Server Functions
Microsoft SQL Server Transaction management statements
Microsoft SQL Server Using CONNECT, COMMIT, DISCONNECT, and ROLLBACK
Microsoft SQL Server Using AutoCommit
Microsoft SQL Server Performance and locking
Microsoft SQL Server Non-cursor statements
Microsoft SQL Server DELETE, INSERT, and UPDATE
Microsoft SQL Server SELECT
Microsoft SQL Server Cursor statements
Microsoft SQL Server Fetching rows
Microsoft SQL Server FETCH NEXT
Microsoft SQL Server FETCH FIRST, FETCH PRIOR, and FETCH LAST
Microsoft SQL Server Closing the cursor
Microsoft SQL Server Database stored procedures
Microsoft SQL Server Retrieval
Microsoft SQL Server DECLARE and EXECUTE
Microsoft SQL Server FETCH
Microsoft SQL Server CLOSE
Microsoft SQL Server Update
Microsoft SQL Server Temporary tables
Microsoft SQL Server Using database stored procedures in DataWindow objects
Microsoft SQL Server Database stored procedures summary
Using Embedded SQL with Oracle
Oracle Name qualification
Oracle SQL functions
Oracle Transaction management statements
Oracle Using CONNECT, DISCONNECT, COMMIT, and ROLLBACK
Oracle Performance and locking
Oracle Non-cursor statements
Oracle DELETE, INSERT, and UPDATE
Oracle SELECT
Oracle Cursor statements
Oracle Retrieval
Oracle Update
Oracle Cursor support summary
Oracle Database stored procedures
Supported features when using Oracle stored procedures
Using DECLARE, EXECUTE, FETCH, and CLOSE with Oracle stored procedures
Oracle DECLARE and EXECUTE
Oracle FETCH
Oracle CLOSE
Adding Functions to the PBODB125 Initialization File
About the PBODB125 initialization file
Adding functions to PBODB125.INI
Adding functions to an existing section in the file
Adding functions to a new section in the file
Deploying Applications and Components to .NET
Choosing a .NET Target
Choosing a .NET Application Target
How .NET Deployment Works
Security Settings
Strong-Named Assemblies
ASP.NET Configuration for a .NET Project
IIS Installation
Selecting the Default ASP.NET Version
Viewing and Modifying Global Properties in the IIS Manager
Directory Structure on the Server
Setting Up a SQL Anywhere Database Connection
Telerik RadControls
Configuration Requirements for Windows Vista and Later
Changing Application Pool Identity for IIS 7.5
Creating an Application Pool
Enabling 32-bit Applications on 64-bit Operating Systems
Moving an Application into a Different Application Pool
Application Directory Permissions
Checklist for Deployment
Web Forms Targets
PowerBuilder Web Forms Applications
System Requirements for PowerBuilder Web Forms
Web Forms Targets
Web Forms Projects
Web Forms Deployment
Sharing Data Across Sessions
Registry Functions for Web Forms Applications
Client-Side Programming
Default Event Handlers
Client-Side Support for the Web DataWindow Control
Alphabetical Liist of Web DataWindow Client-Side Events
ButtonClicked
ButtonClicking
Clicked
DoubleClicked
ItemChanged
ItemError
ItemFocusChanged
RButtonDown
RowFocusChanged
RowFocusChanging
Permanent User Accounts
Creating Permanent User Accounts
Managing Permanent User Accounts
Managers in Web Forms Applications
Web Forms Print Manager
Requirements for Saving Files in PDF or XSL Format
Installing GPL Ghostscript
Where PDF and XSL-FO Output is Saved
Web Forms File Manager
Creating a Directory with the File Manager
Uploading Files with the File Manager
Downloading Files with the File Manager
Web Forms Mail Profile Manager
Web Forms Theme Manager
Web Forms Properties
Global Web Configuration Properties
Creating Custom Global Properties
AutoPostBack
Embedded
HasFileManager
HasMailManager
HasPrintManager
HasThemeManager
System Functions for .NET Web Forms
DownloadFile
GetConfigSetting
GetDownloadFileURL
MapVirtualPath
OpenFileManager
OpenMailManager
OpenPrintManager
OpenThemeManager
UploadFiles
Unsupported Features in Web Forms Projects
Unsupported Objects
Unsupported System Functions
Restrictions on Supported Controls
Modified Appearance and Behavior of Visual Controls
Unsupported Functions for Controls in Web Forms
Unsupported Events for Controls in Web Forms
Unsupported Properties for Controls in Web Forms
Windows Forms Targets
PowerBuilder Windows Forms Applications
Deploying to a production environment
System Requirements for .NET Windows Forms Targets
.NET Windows Forms Target Wizard
Building a Windows Forms Application and Target from Scratch
Building a Windows Forms Application from an Existing Application and Library
Building a Windows Forms Application from an Existing Target
Creating a .NET Windows Forms Project
Properties for a .NET Windows Forms Project
Resources and Other Required Files
Security Requirements
Deployment of a Windows Forms Application
Project Execution
Intelligent Deployment and Update
Publishing an application for the first time
Set Publishing Properties
Locations for Publish, Install, and Update
Digital Certificates
Setting Full Trust Permissions
Publication Process and Results
Application Installation on the User’s Computer
Resource Files and Publish Type
Publication of Application Updates
Application Bootstrapping
Rolling Back
MobiLink Synchronization
Unsupported Features in Windows Forms Projects
Unsupported Nonvisual Objects and Structures in Windows Forms
Unsupported System Functions in Windows Forms
PowerBuilder Visual Controls in Windows Forms Applications
Unsupported Functions for Controls in Windows Forms
Unsupported Events for Controls in Windows Forms
Unsupported Properties for Controls in Windows Forms
.NET Component Targets
.NET Assembly Targets
Modifying a .NET Assembly Project
Supported Datatypes
Deploying and Running a .NET Assembly Project
.NET Web Service Targets
Modifying a .NET Web Service Project
Configuring ASP.NET for a .NET Web Service Project
Deploying and Running a .NET Web Service Project
.NET Language Interoperability
Conditional Compilation
Surrounding Code in a .NET Block
PowerScript Syntax for .NET Calls
Adding .NET Assemblies to the Target
Datatype Mappings
Support for .NET language features
Bitwise Operator Support
User-Defined Enumerations
Function Calls on .NET Primitive and Enumerated Types
Accessing Indexes for .NET Classes
Using Multithreading
Limitations
Handling Exceptions in the .NET Environment
Connections to EAServer Components
Using the Connection Object
.NET Client Differences
Connections Using the JaguarORB Object
Support for CORBAObject and CORBACurrent Objects
Supported Datatypes
SSL Connection Support
Server Authentication
Connection Code
Importing an EAServer Certificate into the Client Certificate Store
Mutual Authentication
Best Practices for .NET Projects
Design-Level Considerations
Take Advantage of Global Configuration Properties
DataWindow Pagination
DataWindow Page Navigation
Use Client-Side Events to Delay Postbacks
Compiling, Debugging, and Troubleshooting
Incremental Builds
Build and Deploy Directories
Rebuild Scope
.NET Modules
PBD Generation
Triggering Build and Deploy Operations
System Option
Incremental Build Processing
Debugging a .NET Application
Attaching to a Running Windows Forms Process
.NET Debugger Restrictions
Release and Debug Builds
DEBUG Preprocessor Symbol
Breaking into the Debugger When an Exception is Thrown
Debugging a .NET Component
Troubleshooting .NET Targets
Troubleshooting Deployment Errors
Troubleshooting Runtime Errors
Troubleshooting Tips for Web Forms Applications
Web Forms Deployment Errors
Browser Error Messages
Failure to Connect to a Database
DataWindows Are Not Visible
Pictures Are Not Visible
Excessive Flickering on Web Page
Posted Events Are Not Executed
External DLLs Do Not Load
Print Failure
Log Files
Problems with IIS 7.5
Troubleshooting Tips for Windows Forms Applications
Runtime Errors
Publish Errors
Installation Errors
Update Errors
Appendix
Custom Permission Settings
Adding Permissions in the .NET Framework Configuration Tool
EnvironmentPermission
EventLogPermission
FileDialogPermission
FileIOPermission
PrintingPermission
ReflectionPermission
RegistryPermission
SecurityPermission
SMTPPermission
SocketPermission
SQLClientPermission
UIPermission
WebPermission
Custom Permission Types
Objects and Controls
About this book
PowerBuilder System Objects and Controls
What are system objects?
System object properties, events, and functions
System object inheritance hierarchy
Undocumented base class objects
Viewing system objects
System Object Properties, Events, and Functions
ADOResultSet object
Animation control
Application object
ArrayBounds object
CheckBox control
ClassDefinition object
CommandButton control
Connection object
ContextInformation object
ContextKeyword object
CORBACurrent object
CORBAObject object
DataStore object
DataWindow control
DataWindowChild object
DatePicker control
DropDownListBox control
DropDownPictureListBox control
DynamicDescriptionArea object
DynamicStagingArea object
EditMask control
EnumerationDefinition object
EnumerationItemDefinition object
Environment object
Error object
ErrorLogging object
Exception object
Graph object
grAxis object
grDispAttr object
GroupBox control
HProgressBar control
HScrollBar control
HTrackBar control
Inet object
InkEdit control
InkPicture control
InternetResult object
JaguarORB object
Line control
ListBox control
ListView control
ListViewItem object
mailFileDescription object
mailMessage object
mailRecipient object
mailSession object
MDIClient object
Menu object
MenuCascade object
Message object
MLSync object
MLSynchronization object
MonthCalendar control
MultiLineEdit control
OLEControl control
OLECustomControl control (OCX)
OLEObject object
OLEStorage object
OLEStream object
OLETxnObject object
Oval control
Picture control
PictureButton control
PictureHyperLink control
PictureListBox control
Pipeline object
ProfileCall object
ProfileClass object
ProfileLine object
ProfileRoutine object
Profiling object
RadioButton control
Rectangle control
ResultSet object
ResultSets object
RichTextEdit control
RoundRectangle control
RuntimeError object
ScriptDefinition object
SimpleTypeDefinition object
SingleLineEdit control
SSLCallBack object
SSLServiceProvider object
StaticHyperLink control
StaticText control
SyncParm object
Tab control
Throwable object
Timing object
TraceActivityNode object
TraceBeginEnd object
TraceError object
TraceESQL object
TraceFile object
TraceGarbageCollect object
TraceLine object
TraceObject object
TraceRoutine object
TraceTree object
TraceTreeError object
TraceTreeESQL object
TraceTreeGarbageCollect object
TraceTreeLine object
TraceTreeNode object
TraceTreeObject object
TraceTreeRoutine object
TraceTreeUser object
TraceUser object
Transaction object
TransactionServer object
TreeView control
TreeViewItem object
TypeDefinition object
ULSync object
UserObject object
VariableCardinalityDefinition object
VariableDefinition object
VProgressBar control
VScrollBar control
VTrackBar control
Window control
WSConnection object
Property Descriptions and Usage
Accelerator
AccessibleDescription
AccessibleName
AccessibleRole
Activation
AdditionalOpts
Alignment
AllowEdit
AnimationName
AnimationTime
AuthenticateParms
AutoArrange
AutoHScroll
Automatic
AutoPlay
AutoScale
AutoSize
AutoSkip
AutoVScroll
BackColor
BeginX
BeginY
BoldSelectedText
Border
BorderColor
BorderStyle
BottomMargin
BringToTop
ButtonHeader
Cancel
CalendarBackColor
CalendarTextColor
CalendarTitleBackColor
CalendarTitleTextColor
CalendarTrailingTextColor
Category
CategorySort
Center
Checked
CloseAnimation
CollectionMode
ColumnsPerPage
ContentsAllowed
ControlCharsVisible
ControlMenu
CornerHeight
CornerWidth
CreateOnDemand
CustomFormat
DataObject
DataSource
DataType
DBPass
DBUser
Default
DeleteItems
Depth
DisabledName
DisableDragDrop
DisableNoScroll
DisplayEveryNLabels
DisplayExpression
DisplayName
DisplayOnly
DisplayType
DocumentName
DragAuto
DragIcon
DropDownCalendar
DropDownRight
DropLines
EditLabels
EditMode
Elevation
Enabled
EncryptionKey
EndX
EndY
ErrorText
Escapement
ExtendedOpts
ExtendedSelect
FaceName
Factoid
FillColor
FillPattern
FirstDayOfWeek
FixedLocations
FixedWidth
FocusOnButtonDown
FocusRectangle
FontCharSet
FontFamily
FontPitch
FontWeight
Format
Frame
FreeDBLibraries
GraphType
HasButtons
HasLines
HeaderFooter
Height
HideSelection
Host
HScrollBar
HSplitScroll
HTextAlign
Icon
IgnoreDefaultButton
IgnorePressure
Increment
Indent
InkAntiAliased
InkColor
InkEnabled
InkHeight
InkMode
InkWidth
InputFieldBackColor
InputFieldNamesVisible
InputFieldsVisible
InsertAsText
Invert
Italic
Item[ ]
ItemPictureIndex[ ]
Label
LabelWrap
LargePictureHeight
LargePictureMaskColor
LargePictureName[ ]
LargePictureWidth
LayoutRTL
LeftMargin
LeftText
Legend
Limit
LineColor
LinesAtRoot
LinesPerPage
LineStyle
LinkUpdateOptions
LiveScroll
LogFileName
LogOpts
MajorGridLine
MajorDivisions
MajorTic
Map3DColors
Mask
MaskDataType
MaxBox
MaximumValue
MaxDate
MaxPosition
MaxSelectCount
MaxValDateTime
MenuName
MinBox
MinDate
MinimumValue
MinMax
MinorDivisions
MinorGridLine
MinorTic
MinPosition
MinValDateTime
MLPass
MLServerVersion
MLUser
Modified
MonthBackColor
MultiSelect
Multiline
ObjectRevision
OpenAnimation
OriginalSize
OriginLine
OverlapPercent
PaperHeight
PaperOrientation
PaperWidth
Password
PerpendicularText
Perspective
PicturesAsFrame
PictureHeight
PictureIndex
PictureMaskColor
PictureName
PictureName[ ]
PictureOnRight
PictureWidth
Pointer
PopMenu
Port
Position
PowerTipText
PowerTips
PrimaryLine
ProcessOption
ProgressWindowName
Publication
RaggedRight
RecognitionTimer
Render3D
Resizable
ReturnCode
ReturnsVisible
RightMargin
RightToLeft
Rotation
RulerBar
RoundTo
RoundToUnit
ScaleType
ScaleValue
Scrolling
ScrollRate
SecondaryLine
SelectedStartPos
SelectedTab
SelectedTextLength
Series
SeriesSort
SetStep
ShadeBackEdge
ShowList
ShowHeader
ShowPicture
ShowText
ShowUpDown
SmallPictureHeight
SmallPictureMaskColor
SmallPictureName[ ]
SmallPictureWidth
Sorted
SortType
SpacesVisible
Spacing
Spin
StatePictureHeight
StatePictureMaskColor
StatePictureName[ ]
StatePictureWidth
Status
StdHeight
StdWidth
SyncRegistryKey
TabBackColor
TabOrder
TabPosition
TabStop[ ]
TabTextColor
TabsVisible
Tag
Text
TextCase
TextColor
TextSize
ThreeState
ThirdState
Title
TitleBackColor
TitleBar
TitleTextColor
TodayCircle
TodaySection
ToolbarAlignment
ToolbarHeight
ToolbarVisible
ToolbarWidth
ToolbarX
ToolbarY
ToolBar
TopMargin
TrailingTextColor
Transparency
Transparent
ULTrans
Underline
UndoDepth
UnitsPerColumn
UnitsPerLine
UseCodeTable
UseLogFile
UseMouseForInput
UseWindow
Value
View
Visible
VScrollBar
VTextAlign
WeekNumbers
Weight
Width
WindowObject
WindowState
WindowType
WordWrap
X
Y
About Display Formats and Scrolling
Using colors with display formats
Using date display formats
Using number display formats
Using string display formats
Using time display formats
Scrolling in windows and user objects
PowerScript Reference
About this book
Language Basics
Comments
Identifier names
Labels
Special ASCII characters
NULL values
Reserved words
Pronouns
Parent pronoun
This pronoun
Super pronoun
Statement continuation
Statement separation
White space
Conditional compilation
Datatypes
Standard datatypes
The Any datatype
System object datatypes
Enumerated datatypes
PowerBuilder datatypes in EAServer
Declarations
Declaring variables
Where to declare variables
About using variables
Syntax of a variable declaration
Datatype of a variable
Variable names
Initial values for variables
Access for instance variables
Another format for access-right keywords
Declaring constants
Declaring arrays
Values for array elements
Size of variable-size arrays
More about arrays
Assigning one array to another
Using arraylists to assign values to an array
Errors that occur when addressing arrays
Declaring external functions
Datatypes for external function arguments
Calling external functions
Defining source for external functions
Declaring DBMS stored procedures as remote procedure calls
Operators and Expressions
Operators in PowerBuilder
Arithmetic operators in PowerBuilder
Relational operators in PowerBuilder
Concatenation operator in PowerBuilder
Operator precedence in PowerBuilder expressions
Datatype of PowerBuilder expressions
Numeric datatypes in PowerBuilder
Datatype promotion when evaluating numeric expressions
Assignment and datatypes
String and char datatypes in PowerBuilder
Structures and Objects
About structures
About objects
About user objects
Instantiating objects
Using ancestors and descendants
Garbage collection
User objects that behave like structures
Assignment for objects and structures
Assignment for structures
Assignment for objects
Assignment for autoinstantiated user objects
Calling Functions and Events
About functions and events
Finding and executing functions and events
Finding functions
Finding events
Triggering versus posting functions and events
Static versus dynamic calls
Static calls
Dynamic calls
Errors when calling functions and events dynamically
Overloading, overriding, and extending functions and events
Overloading and overriding functions
Type promotion when matching arguments for overloaded functions
Extending and overriding events
Passing arguments to functions and events
Passing objects
Passing structures
Passing arrays
Using return values
Functions
Events
Using cascaded calling and return values
Syntax for calling PowerBuilder functions and events
Calling functions and events in an object’s ancestor
PowerScript Statements
Assignment
CALL
CHOOSE CASE
CONTINUE
CREATE
DESTROY
DO...LOOP
EXIT
FOR...NEXT
GOTO
HALT
IF...THEN
RETURN
THROW
THROWS
TRY...CATCH...FINALLY...END TRY
SQL Statements
Using SQL in scripts
CLOSE Cursor
CLOSE Procedure
COMMIT
CONNECT
DECLARE Cursor
DECLARE Procedure
DELETE
DELETE Where Current of Cursor
DISCONNECT
EXECUTE
FETCH
INSERT
OPEN Cursor
ROLLBACK
SELECT
SELECTBLOB
UPDATE
UPDATEBLOB
UPDATE Where Current of Cursor
Using dynamic SQL
Dynamic SQL Format 1
Dynamic SQL Format 2
Dynamic SQL Format 3
Dynamic SQL Format 4
PowerScript Events
About events
Activate
BeginDownload
BeginDrag
BeginLabelEdit
BeginLogScan
BeginRightDrag
BeginSync
BeginUpload
Clicked
Close
CloseQuery
CloseUp
ColumnClick
ConnectMobiLink
Constructor
DataChange
DateChanged
DateSelected
DBError
DBNotification
Deactivate
DeleteAllItems
DeleteItem
Destructor
DisconnectMobiLink
DisplayMessage
DoubleClicked
DragDrop
DragEnter
DragLeave
DragWithin
DropDown
EndDownload
EndLabelEdit
EndLogScan
EndSync
EndUpload
Error
ErrorMessage
ExternalException
FileExists
FileMessage
Gesture
GetFocus
Help
Hide
HotLinkAlarm
Idle
InputFieldSelected
InsertItem
ItemActivate
ItemChanged
ItemChanging
ItemCollapsed
ItemCollapsing
ItemExpanded
ItemExpanding
ItemPopulate
Key
LineDown
LineLeft
LineRight
LineUp
LoseFocus
Modified
MouseDown
MouseMove
MouseUp
Moved
Notify
Open
Other
PageDown
PageLeft
PageRight
PageUp
PictureSelected
PipeEnd
PipeMeter
PipeStart
PrintFooter
PrintHeader
ProgressIndex
PropertyChanged
PropertyRequestEdit
RButtonDown
RButtonUp
RecognitionResult
RemoteExec
RemoteHotLinkStart
RemoteHotLinkStop
RemoteRequest
RemoteSend
Rename
Resize
RightClicked
RightDoubleClicked
Save
SaveObject
Selected
SelectionChanged
SelectionChanging
Show
Sort
SQLPreview
Start
Stop
Stroke
SyncPreview
SystemError
SystemKey
Timer
ToolbarMoved
UploadAck
UserString
ValueChanged
ViewChange
WaitForUploadAck
WarningMessage
PowerScript Functions
Abs
ACos
Activate
AddCategory
AddColumn
AddData
AddItem
AddLargePicture
AddPicture
AddSeries
AddSmallPicture
AddStatePicture
AddToLibraryList
Arrange
ArrangeSheets
Asc
AscA
ASin
ATan
Beep
BeginTransaction
Blob
BlobEdit
BlobMid
BuildModel
Byte
Cancel
CancelSync
CanUndo
CategoryCount
CategoryName
Ceiling
ChangeDirectory
ChangeMenu
Char
CharA
Check
ChooseColor
ClassList
ClassName
Clear
ClearAll
ClearBoldDates
Clipboard
Close
CloseChannel
CloseTab
CloseUserObject
CloseWithReturn
CollapseItem
CommandParm
CommitTransaction
ConnectToNewObject
ConnectToNewRemoteObject
ConnectToObject
ConnectToRemoteObject
ConnectToServer
Copy
CopyRTF
Cos
Cpu
CreateDirectory
CreateInstance
CreatePage
Cut
DataCount
DataSource
Date
DateTime
Day
DayName
DayNumber
DaysAfter
DBHandle
DebugBreak
Dec
DeleteCategory
DeleteColumn
DeleteColumns
DeleteData
DeleteItem
DeleteItems
DeleteLargePicture
DeleteLargePictures
DeletePicture
DeletePictures
DeleteSeries
DeleteSmallPicture
DeleteSmallPictures
DeleteStatePicture
DeleteStatePictures
DestroyModel
DirectoryExists
DirList
DirSelect
Disable
DisableCommit
DisconnectObject
DisconnectServer
Double
DoVerb
Drag
DraggedObject
Draw
EditLabel
Enable
EnableCommit
EntryList
ExecRemote
Exp
ExpandAll
ExpandItem
Fact
FileClose
FileCopy
FileDelete
FileEncoding
FileExists
FileLength
FileLength64
FileMove
FileOpen
FileRead
FileReadEx
FileSeek
FileSeek64
FileWrite
FileWriteEx
Fill
FillA
FillW
Find
FindCategory
FindClassDefinition
FindFunctionDefinition
FindItem
FindMatchingFunction
FindNext
FindSeries
FindTypeDefinition
FromAnsi
FromUnicode
GarbageCollect
GarbageCollectGetTimeLimit
GarbageCollectSetTimeLimit
GetActiveSheet
GetAlignment
GetApplication
GetArgElement
GetAutomationNativePointer
GetByte
GetByteArray
GetCertificateLabel
GetChildrenList
GetColumn
GetCommandDDE
GetCommandDDEOrigin
GetCommandString
GetCompanyName
GetContextKeywords
GetContextService
GetCredentialAttribute
GetCurrentDirectory
GetData
GetDataDDE
GetDataDDEOrigin
GetDataLabelling
GetDataPieExplode
GetDataStyle
GetDataTransparency
GetDataValue
GetDateLimits
GetDbmlsyncPath
GetDisplayRange
GetDynamicDate
GetDynamicDateTime
GetDynamicDecimal
GetDynamicNumber
GetDynamicString
GetDynamicTime
GetEnvironment
GetFileOpenName
GetFileSaveName
GetFirstSheet
GetFixesVersion
GetFocus
GetFolder
GetGlobalProperty
GetHostObject
GetItem
GetItemAtPointer
GetLastReturn
GetLibraryList
GetMajorVersion
GetMessage
GetMinorVersion
GetName
GetNativePointer
GetNextSheet
GetObjectRevisionFromRegistry
GetOrigin
GetParagraphSetting
GetParent
GetPin
GetRecordSet
GetRemote
GetSelectedDate
GetSelectedRange
GetSeriesLabelling
GetSeriesStyle
GetSeriesTransparency
GetShortName
GetSpacing
GetStatus
GetSyncRegistryProperties
GetText
GetTextColor
GetTextStyle
GetToday
GetToolbar
GetToolbarPos
GetTransactionName
GetURL
GetValue
GetVersionName
Handle
Hide
Hour
HyperLinkToURL
Idle
ImpersonateClient
ImportClipboard
ImportFile
ImportString
IncomingCallList
Init
InputFieldChangeData
InputFieldCurrentName
InputFieldDeleteCurrent
InputFieldGetData
InputFieldInsert
InputFieldLocate
InsertCategory
InsertClass
InsertColumn
InsertData
InsertDocument
InsertFile
InsertItem
InsertItemFirst
InsertItemLast
InsertItemSort
InsertObject
InsertPicture
InsertSeries
Int
Integer
InternetData
IntHigh
IntLow
InvokePBFunction
_Is_A
IsAlive
IsAllArabic
IsAllHebrew
IsAnyArabic
IsAnyHebrew
IsArabic
IsArabicAndNumbers
IsCallerInRole
IsDate
IsHebrew
IsHebrewAndNumbers
IsImpersonating
IsInTransaction
IsNull
IsNumber
IsPreview
IsSecurityEnabled
IsTime
IsTransactionAborted
IsValid
KeyDown
LastPos
Left
LeftA
LeftW
LeftTrim
LeftTrimW
Len
LenA
LenW
Length
LibraryCreate
LibraryDelete
LibraryDirectory
LibraryDirectoryEx
LibraryExport
LibraryImport
LineCount
LineLength
LineList
LinkTo
LoadInk
LoadPicture
Log
LogTen
Long
LongLong
Lookup
Lower
LowerBound
mailAddress
mailDeleteMessage
mailGetMessages
mailHandle
mailLogoff
mailLogon
mailReadMessage
mailRecipientDetails
mailResolveRecipient
mailSaveMessage
mailSend
Match
MatchW
Max
MemberDelete
MemberExists
MemberRename
MessageBox
Mid
MidA
MidW
Min
Minute
Mod
ModifyData
Month
Move
MoveTab
_Narrow
NextActivity
Now
ObjectAtPointer
Object_To_String
OffsetPos
Open
OpenChannel
OpenSheet
OpenSheetWithParm
OpenTab
OpenTabWithParm
OpenUserObject
OpenUserObjectWithParm
OpenWithParm
OutgoingCallList
PageCount
PageCreated
ParentWindow
Paste
PasteLink
PasteRTF
PasteSpecial
PBAddCookie
PBGetCookies
PBGetMenuString
Pi
PixelsToUnits
Play
PointerX
PointerY
PopMenu
PopulateError
Pos
PosA
PosW
Position
Post
PostEvent
PostURL
Preview
Print
PrintBitmap
PrintCancel
PrintClose
PrintDataWindow
PrintDefineFont
PrintEx
PrintGetPrinter
PrintGetPrinters
PrintLine
PrintOpen
PrintOval
PrintPage
PrintRect
PrintRoundRect
PrintScreen
PrintSend
PrintSetFont
PrintSetPrinter
PrintSetSpacing
PrintSetup
PrintSetupPrinter
PrintText
PrintWidth
PrintX
PrintY
ProfileInt
ProfileString
Rand
Randomize
Read
Real
RecognizeText
RegistryDelete
RegistryGet
RegistryKeys
RegistrySet
RegistryValues
RelativeDate
RelativeTime
ReleaseAutomationNativePointer
ReleaseNativePointer
RemoveDirectory
Repair
Replace
ReplaceA
ReplaceText
ReplaceW
Reset
ResetArgElements
ResetDataColors
ResetInk
ResetPicture
Resize
Resolve_Initial_References
RespondRemote
Restart
ResumeTransaction
Reverse
RevertToSelf
RGB
Right
RightA
RightW
RightTrim
RightTrimW
RollbackOnly
RollbackTransaction
Round
RoutineList
Run
Save
SaveAs
SaveDocument
SaveInk
Scroll
ScrollNextPage
ScrollNextRow
ScrollPriorPage
ScrollPriorRow
ScrollToRow
Second
SecondsAfter
Seek
SelectedColumn
SelectedIndex
SelectedItem
SelectedLength
SelectedLine
SelectedPage
SelectedStart
SelectedText
SelectionRange
SelectItem
SelectObject
SelectTab
SelectText
SelectTextAll
SelectTextLine
SelectTextWord
Send
SeriesCount
SeriesName
SetAbort
SetAlignment
SetArgElement
SetAutomationLocale
SetAutomationPointer
SetAutomationTimeout
SetBoldDate
SetByte
SetColumn
SetComplete
SetData
SetDataDDE
SetDataLabelling
SetDataPieExplode
SetDataStyle
SetDataTransparency
SetDateLimits
SetDropHighlight
SetDynamicParm
SetFirstVisible
SetFocus
SetGlobalProperty
SetItem
SetLevelPictures
SetLibraryList
SetMask
SetMessage
SetMicroHelp
SetNewMobiLinkPassword
SetNull
SetOverlayPicture
SetParagraphSetting
SetParm
SetPicture
SetPointer
SetPosition
SetProfileString
SetRange
SetRecordSet
SetRedraw
SetRemote
SetResultSet
SetSelectedDate
SetSelectedRange
SetSeriesLabelling
SetSeriesStyle
SetSeriesTransparency
SetSpacing
SetState
SetSyncRegistryProperties
SetTextColor
SetTextStyle
SetTimeout
SetToday
SetToolbar
SetToolbarPos
SetTop
SetTraceFileName
SetTransPool
SetValue
SharedObjectDirectory
SharedObjectGet
SharedObjectRegister
SharedObjectUnregister
Show
ShowHeadFoot
ShowHelp
ShowPopupHelp
Sign
SignalError
Sin
Sleep
Sort
SortAll
Space
Sqrt
Start
StartHotLink
StartServerDDE
State
StepIt
Stop
StopHotLink
StopServerDDE
String
String_To_Object
SuspendTransaction
Synchronize
SyntaxFromSQL
SystemRoutine
TabPostEvent
TabTriggerEvent
Tan
Text
TextLine
Time
Timer
ToAnsi
Today
Top
TotalColumns
TotalItems
TotalSelected
ToUnicode
TraceBegin
TraceClose
TraceDisableActivity
TraceEnableActivity
TraceEnd
TraceError
TraceOpen
TraceUser
TriggerEvent
TriggerPBEvent
Trim
TrimW
Truncate
TrustVerify
TypeOf
Uncheck
Undo
UnitsToPixels
UpdateLinksDialog
Upper
UpperBound
Which
WordCap
WorkSpaceHeight
WorkSpaceWidth
WorkSpaceX
WorkSpaceY
Write
XMLParseFile
XMLParseString
Year
Yield
DataWindow Reference
About this book
DataWindow Operators and Expressions
Where you use DataWindow expressions
Operators used in DataWindow expressions
Arithmetic operators in DataWindow expressions
Relational operators in DataWindow expressions
Comparing strings in DataWindow expressions
Logical operators in DataWindow expressions
Concatenation operator in DataWindow expressions
Operator precedence in DataWindow expressions
Evaluating DataWindow expressions in scripts
Evaluating DataWindow expressions in the Describe function
Evaluating conditional DataWindow expressions with current data
DataWindow Expression Functions
Using DataWindow expression functions
Decimal support in DataWindow expressions
Four examples
Example 1: counting null values in a column
Example 2: counting male and female employees
Example 3: creating a row indicator
Example 4: displaying all data when a column allows nulls
Alphabetical list of DataWindow expression functions
Abs
ACos
Asc
AscA
ASin
ATan
Avg
Bitmap
Case
Ceiling
Char
CharA
Cos
Count
CrosstabAvg
CrosstabAvgDec
CrosstabCount
CrosstabMax
CrosstabMaxDec
CrosstabMin
CrosstabMinDec
CrosstabSum
CrosstabSumDec
CumulativePercent
CumulativeSum
CurrentRow
Date
DateTime
Day
DayName
DayNumber
DaysAfter
Dec
Describe
Exp
Fact
Fill
FillA
First
GetPaintDC
GetPaintRectHeight
GetPaintRectWidth
GetPaintRectX
GetPaintRectY
GetRow
GetText
Hour
If
Int
Integer
IsDate
IsExpanded
IsNull
IsNumber
IsRowModified
IsRowNew
IsSelected
IsTime
Large
Last
LastPos
Left
LeftA
LeftTrim
Len
LenA
Log
LogTen
Long
LookUpDisplay
Lower
Match
Max
Median
Mid
MidA
Min
Minute
Mod
Mode
Month
Now
Number
Page
PageAbs
PageAcross
PageCount
PageCountAcross
Paint
Percent
Pi
Pos
PosA
ProfileInt
ProfileString
Rand
Real
RelativeDate
RelativeTime
Replace
ReplaceA
RGB
RichText
RichTextFile
Right
RightA
RightTrim
Round
RowCount
RowHeight
Second
SecondsAfter
Sign
Sin
Small
Space
Sqrt
StDev
StDevP
String
StripRTF
Sum
Tan
Time
Today
Trim
Truncate
Upper
Var
VarP
WordCap
Year
DataWindow Object Properties
Overview of DataWindow object properties
Controls in a DataWindow and their properties
Properties for the DataWindow object
Properties for Button controls in DataWindow objects
Properties for Column controls in DataWindow objects
Properties for Computed Field controls in DataWindow objects
Properties for Graph controls in DataWindow objects
Properties for GroupBox controls in DataWindow objects
Properties for the Group keyword
Properties for InkPicture controls in DataWindow objects
Properties for Line controls in DataWindow objects
Properties for OLE Object controls in DataWindow objects
Properties for Oval, Rectangle, and RoundRectangle controls in DataWindow objects
Additional properties for RoundRectangle controls in DataWindow objects
Properties for Picture controls in DataWindow objects
Properties for Report controls in DataWindow objects
Properties for the Style keyword
Properties for TableBlob controls in DataWindow objects
Properties for Text controls in DataWindow objects
Title keyword
Alphabetical list of DataWindow object properties
Accelerator
AccessibleDescription
AccessibleName
AccessibleRole
Action
Activation
Alignment
Arguments
Attributes
Axis
Axis.property
BackColor
Background.property
BackImage
Band
Bandname.property
Bandname.Text
Bands
BinaryIndex
BitmapName
Border
Brush.property
Brushmode
Category
CheckBox.property
ClientName
Color
ColType
Column.Count
ContentsAllowed
Criteria
Criteria.property
Crosstab.property
CSSGen.property
Data
Data.HTML
Data.HTMLTable
Data.XHTML
Data.XML
Data.XMLDTD
Data.XMLSchema
Data.XMLWeb
Data.XSLFO
DataObject
dbAlias
dbName
dddw.property
ddlb.property
DefaultPicture
Depth
Detail_Bottom_Margin
Detail_Top_Margin
Detail.property
DispAttr.fontproperty
DisplayType
Edit.property
EditMask.property
Elevation
EllipseHeight
EllipseWidth
Enabled
Export.PDF.Distill.CustomPostScript
Export.PDF.Method
Export.PDF.XSLFOP.Print
Export.XHTML.TemplateCount
Export.XHTML.Template[ ].Name
Export.XHTML.UseTemplate
Export.XML.HeadGroups
Export.XML.IncludeWhitespace
Export.XML.MetaDataType
Export.XML.SaveMetaData
Export.XML.TemplateCount
Export.XML.Template[ ].Name
Export.XML.UseTemplate
Expression
Filename
FirstRowOnPage
FocusRectangle
Font.Bias
Font.property
Footer.property
Format
Gradient.property
GraphType
Grid.ColumnMove
Grid.Lines
GroupBy
Header_Bottom_Margin
Header_Top_Margin
Header.property
Header.#.property
Height
Height.AutoSize
Help.property
HideGrayLine
HideSnaked
Horizontal_Spread
HorizontalScrollMaximum
HorizontalScrollMaximum2
HorizontalScrollPosition
HorizontalScrollPosition2
HorizontalScrollSplit
HTextAlign
HTML.property
HTMLDW
HTMLGen.property
HTMLTable.property
ID
Identity
Import.XML.Trace
Import.XML.TraceFile
Import.XML.UseTemplate
Initial
Ink.property
InkEdit.property
InkPic.property
Invert
JSGen.property
Key
KeyClause
Label.property
LabelDispAttr.fontproperty
LastRowOnPage
Left_Margin
Legend
Legend.DispAttr.fontproperty
Level
LineRemove
LinkUpdateOptions
Message.Title
Moveable
Multiline
Name
Nest_Arguments
Nested
NewPage (Group keywords)
NewPage (Report controls)
NoUserPrompt
Objects
OLE.Client.property
OLEClass
OriginalSize
OverlapPercent
Pen.property
Perspective
Picture.property
Pie.DispAttr.fontproperty
PlotNullData
Pointer
Print.Preview.property
Print.property
Printer
Processing
Protect
QueryClear
QueryMode
QuerySort
RadioButtons.property
Range
ReadOnly
Render3D
ReplaceTabWithSpace
Report
ResetPageCount
Resizeable
Retrieve
Retrieve.AsNeeded
RichEdit.property
RichText.property
RightToLeft
Rotation
Row.Resize
Rows_Per_Detail
Selected
Selected.Data
Selected.Mouse
Series
ShadeColor
ShowBackColorOnXP
ShowBackground
ShowDefinition
SizeToDisplay
SlideLeft
SlideUp
Sort
Spacing
Sparse
Storage
StoragePageSize
Summary.property
SuppressEventProcessing
Syntax
Syntax.Data
Syntax.Modified
Table (for Create)
Table (for InkPicture and TableBlobs)
Table.property
Table.sqlaction.property
TabSequence
Tag
Target
Template
Text
Timer_Interval
Title
Title.DispAttr.fontproperty
Tooltip.property
Trail_Footer
Trailer.#.property
Transparency (columns and controls)
Transparency (picture controls in DataWindows)
Transparency (DataWindow objects)
Tree.property
Tree.Leaf.TreeNodeIconName
Tree.Level.#.property
Type
Units
Update
Validation
ValidationMsg
Values (for columns)
Values (for graphs)
Vertical_Size
Vertical_Spread
VerticalScrollMaximum
VerticalScrollPosition
Visible
VTextAlign
Width
Width.Autosize
Width.Autosize
X
X1, X2
XHTMLGen.Browser
XMLGen.property
XSLTGen.property
Y
Y1, Y2
Zoom
Accessing Data in Code
Accessing data and properties in DataWindow programming environments
Techniques for accessing data
About DataWindow data expressions
When a DataWindow data expression is evaluated
Getting and storing the data from a DataWindow data expression
Setting DataWindow data with a DataWindow data expression
Syntaxes for DataWindow data expressions
Syntax for one or all data items in a named column
Syntax for selected data in a named column
Syntax for a range of data in a named column
Syntax for a single data item in a DataWindow
Syntax for data in a block of rows and columns
Syntax for data in a single row or all rows
Syntax for all data from selected rows
Accessing DataWindow Object Properties in Code
About properties of the DataWindow object and its controls
What you can do with DataWindow object properties
Specifying property values in the DataWindow painter
Accessing DataWindow object property values in code
Using DataWindow expressions as property values
More examples in the DataWindow painter and in code
Nested strings and special characters for DataWindow object properties
Nested strings and special characters for DataWindow object properties
Nested strings and special characters in JavaScript for DataWindow object properties
PowerBuilder: Modify and Describe methods for properties
Advantage and drawbacks of Modify and Describe methods in PowerBuilder
Handling errors from Modify and Describe methods in PowerBuilder
PowerBuilder: DataWindow property expressions
Basic structure of DataWindows and property expressions in PowerBuilder
Datatypes of DataWindow property expressions in PowerBuilder
Using the DWObject variable in PowerBuilder
DWObject variables in PowerBuilder
DWObject arguments for DataWindow events in PowerBuilder
When a DataWindow property expression is evaluated in PowerBuilder
Handling errors from DataWindow property expressions in PowerBuilder
PowerBuilder syntax for DataWindow property expressions
Basic syntax for DataWindow property expressions in PowerBuilder
Syntax for nested objects in DataWindow property expressions in PowerBuilder
JavaScript: Modify and Describe methods for properties
Advantage and drawbacks of the Modify and Describe methods in JavaScript
Handling errors for Modify and Describe methods in JavaScript
DataWindow Constants
About DataWindow constants
Alphabetical list of DataWindow constants
AccessibleRole
Alignment
Band
Border
BorderStyle
CharSet
DWBuffer
DWConflictResolution
DWItemStatus
FillPattern
grColorType
grDataType
grObjectType
grSymbolType
LineStyle
MetaDataType
RichTextToolbarActivation
RowFocusInd
SaveAsType
SQLPreviewFunction
SaveMetaData
SQLPreviewType
WebPagingMethod
Properties of the DataWindow Control and DataStore
Properties for PowerBuilder DataWindow
Properties for DataStore objects
Properties for DataWindow controls
Properties for the Web DataWindow server component
Properties for the Web ActiveX control
DataWindow Events
About return values for DataWindow events
Categories of DataWindow events
DataWindow event cross-reference
Alphabetical list of DataWindow events
BackTabOut
ButtonClicked
ButtonClicking
Clicked
Collapsed
Collapsing
Constructor
DBError
Destructor
DoubleClicked
DragDrop
DragEnter
DragLeave
DragWithin
DropDown
EditChanged
Error
Expanded
Expanding
GetFocus
GraphCreate
HTMLContextApplied
ItemChanged
ItemError
ItemFocusChanged
KeyDown
LoseFocus
MessageText
MouseMove
MouseUp
OnSubmit
Printend
PrintMarginChange
PrintPage
PrintStart
ProcessEnter
RButtonDown
Resize
RetrieveEnd
RetrieveRow
RetrieveStart
RichTextCurrentStyleChanged
RichTextLoseFocus
RichTextLimitError
RowFocusChanged
RowFocusChanging
ScrollHorizontal
ScrollVertical
SQLPreview
TabDownOut
TabOut
TabUpOut
TreeNodeSelected
TreeNodeSelecting
UpdateEnd
UpdateStart
WSError
Methods for the DataWindow Control
AboutBox
AcceptText
CanUndo
ClassName
Clear
ClearValues
Collapse
CollapseAll
CollapseAllChildren
CollapseLevel
Copy
CopyRTF
Create
CreateError
CreateFrom
CrosstabDialog
Cut
DBCancel
DBErrorCode
DBErrorMessage
DeletedCount
DeleteRow
Describe
Drag
Expand
ExpandAll
ExpandAllChildren
ExpandLevel
Filter
FilteredCount
Find
FindGroupChange
FindNext
FindRequired
FindRequiredColumn
FindRequiredColumnName
FindRequiredRow
Generate
GenerateHTMLForm
GenerateResultSet
GenerateXHTML
GenerateXMLWeb
GetBandAtPointer
GetBorderStyle
GetChanges
GetChangesBlob
GetChild
GetChildObject
GetClickedColumn
GetClickedRow
GetColumn
GetColumnName
GetContextService
GetFormat
GetFullContext
GetFullState
GetFullStateBlob
GetItem
GetItemDate
GetItemDateTime
GetItemDecimal
GetItemFormattedString
GetItemNumber
GetItemStatus
GetItemString
GetItemTime
GetItemUnformattedString
GetLastError
GetLastErrorString
GetMessageText
GetNextModified
GetObjectAtPointer
GetParent
GetRichTextAlign
GetRichTextColor
GetRichTextFaceName
GetRichTextSize
GetRichTextStyle
GetRow
GetRowFromRowId
GetRowIdFromRow
GetSelectedRow
GetSQLPreview
GetSQLSelect
GetStateStatus
GetText
GetTrans
GetUpdateStatus
GetValidate
GetValue
GroupCalc
Hide
ImportClipboard
ImportFile
ImportString
InsertDocument
InsertRow
IsExpanded
IsRowSelected
IsSelected
LineCount
ModifiedCount
Modify
Move
OLEActivate
OneTrip
Paste
PasteRTF
PointerX
PointerY
Position
PostEvent
Print
PrintCancel
ReplaceText
ReselectRow
Reset
ResetInk
ResetTransObject
ResetUpdate
Resize
Retrieve
RowCount
RowsCopy
RowsDiscard
RowsMove
SaveAs
SaveAsAscii
SaveAsFormattedText
SaveInk
SaveInkPic
Scroll
ScrollFirstPage
ScrollLastPage
ScrollNextPage
ScrollNextRow
ScrollPriorPage
ScrollPriorRow
ScrollToRow
SelectedLength
SelectedLine
SelectedStart
SelectedText
SelectRow
SelectText
SelectTextAll
SelectTextLine
SelectTextWord
SelectTreeNode
SetAction
SetActionCode
SetBorderStyle
SetBrowser
SetChanges
SetColumn
SetColumnLink
SetCultureFormat
SetDetailHeight
SetDWObject
SetFilter
SetFormat
SetFullState
SetHTMLAction
SetHTMLObjectName
SetItem
SetItemDate
SetItemDateTime
SetItemNumber
SetItemStatus
SetItemString
SetItemTime
SetPageSize
SetPosition
SetRedraw
SetRichTextAlign
SetRichTextColor
SetRichTextFaceName
SetRichTextSize
SetRichTextStyle
SetRow
SetRowFocusIndicator
SetSelfLink
SetServerServiceClasses
SetServerSideState
SetSort
SetSQLPreview
SetSQLSelect
SetTabOrder
SetText
SetTrans
SetTransObject
SetValidate
SetValue
SetWeight
SetWSObject
ShareData
ShareDataOff
Show
ShowHeadFoot
Sort
TextLine
TriggerEvent
TypeOf
Undo
Update
Methods for Graphs in the DataWindow Control
CategoryCount
CategoryName
Clipboard
DataCount
FindCategory
FindSeries
GetData
GetDataDateVariable
GetDataLabelling
GetDataNumberVariable
GetDataPieExplode
GetDataPieExplodePercentage
GetDataStringVariable
GetDataStyle
GetDataStyleColorValue
GetDataStyleFillPattern
GetDataStyleLineStyle
GetDataStyleLineWidth
GetDataStyleSymbolValue
GetDataTransparency
GetDataValue
GetSeriesLabelling
GetSeriesStyle
GetSeriesStyleColorValue
GetSeriesStyleFillPattern
GetSeriesStyleLineStyle
GetSeriesStyleLineWidth
GetSeriesStyleOverlayValue
GetSeriesStyleSymbolValue
GetSeriesTransparency
ObjectAtPointer
ObjectAtPointerDataPoint
ObjectAtPointerSeries
Reset
ResetDataColors
SaveAs
SeriesCount
SeriesName
SetDataLabelling
SetDataPieExplode
SetDataStyle
SetDataTransparency
SetSeriesLabelling
SetSeriesStyle
SetSeriesTransparency
Transaction Object Control for Web ActiveX
Using a transaction object with the Web ActiveX
Properties of the Transaction Object control
Methods of the Transaction Object control
AboutBox
Commit
Connect
Disconnect
GetDBCode
GetSQLCode
GetSQLErrText
GetSQLNRows
GetSQLReturnData
Rollback
Connection Reference
About this book
Database Parameters
Database parameters and supported database interfaces
ADORelease
AppDriverName
AppName
Async
BindSPInput
BinTxtBlob
Block (ODBC, OLE DB, Oracle, and SNC)
Block (DirectConnect and Adaptive Server Enterprise)
CacheAuthentication
CacheName
CallEscape
CharSet
Client_Locale
CnnPool
CommandTimeout
CommitOnDisconnect
ConnectAs
ConnectOption
ConnectString
CSIncr
CSMax
CSMin
CursorLib
CursorLock
CursorScroll
CursorType
CursorUpdate
Database
DataLink
DataSource
Date
DateFormat
DateTime
DateTimeAllowed
DateTimeFormat
DBConfigSection
DBGetTime
Db_Locale
DBTextLimit
DecimalSeparator
DefaultProcOwner
DelimitIdentifier
DelimitIdentifierToDB
DisableBind
Driver
DS_Alias
DS_Copy
DS_DitBase
DS_Failover
DS_Password
DS_Principal
DS_Provider
DS_TimeLimit
Encrypt
EncryptionPass
EncryptPassword
FailoverPartner
FoDelay
FoDialog
FoRetryCount
FormatArgsAsExp
GenerateEqualsNull
GetConnectionOption
HANotification
HighSeverityError
Hint
Host
HostReqOwner
IdentifierQuoteChar
Identity
ImpersonationLevel
INET_DBPATH
INET_PROTOCOL
INET_SERVICE
Init_Prompt
InsertBlock
IntegratedSecurity
Isolation
KeepAlive
Language
LCID
Locale
Location
Log
LoginTimeOut
LowerCaseIdent
MapDateToDateTime
MaskPassword
MaxConnect
MaxFetchBuffer
MixedCase
Mode
MsgTerse
Namespace
NCharBind
NCharLiteral
NLS_Charset
NumbersInternal
NumericFormat
ObjectMode
ODBCU_CONLIB
OJSyntax
OnlineIndex
OraMTSConFlgs
PackageProcs
PacketSize (ODBC)
PacketSize (ASE, DIR, SNC, SYC)
PBCatalogOwner
PBMaxBlobSize
PBMaxTextSize
PBNewSPInvocation
PBNoCatalog
PBTrimCharColumns
PBUseProcOwner
PersistEncrypted
PersistSensitive
PoolCreator
Pooling
PoolPwd
Properties
ProtectionLevel
Provider
ProviderString
ProxyUserName
PWDialog
PWEncrypt
PWExpDialog
QualifyPublic
RecheckRows
Release
ReleaseConnectionOption
Request
RPCRebind
ReturnCommandHandle
RTConnBalancing
Scroll
Sec_Channel_Bind
Sec_Confidential
Sec_Cred_Timeout
Sec_Data_Integrity
Sec_Data_Origin
Sec_Delegation
Sec_Keytab_File
Sec_Mechanism
Sec_Mutual_Auth
Sec_Network_Auth
Sec_Replay_Detection
Sec_Seq_Detection
Sec_Server_Principal
Sec_Sess_Timeout
ServerName
ServiceComponents
SessionHomogeneous
ShowTempTables
ShowWarnings
SPCache
SQLCache
SQLQualifiers
StatementCache
StaticBind
StmtCache
StrByCharset
StripParmNames
SvrFailover
SystemOwner
SystemProcs
TableCriteria
ThreadSafe
Time
TimeFormat
Timeout
TimeStamp
TraceFile
TrimSpaces
TrustedConnection
TrustServerCertificate
TRS
UnicharBind
URL
UseContextObject
UseProcSyntax
UTF8
Database Preferences
Database preferences and supported database interfaces
AutoCommit
Connect to Default Profile
Keep Connection Open
Lock
Read Only
Shared Database Profiles
SQL Terminator Character
Use Extended Attributes
Native Interface Programmers Guide and Reference
About this book
Introduction to PBNI
About PBNI
Understanding PowerBuilder extensions
Embedding the PBVM in a C++ application
The elements of PBNI
The PBNI SDK
Comparing PBNI and JNI
Building PowerBuilder Extensions
Nonvisual extension example
Building the pbadd PowerBuilder extension
Using the extension in PowerBuilder
Creating a PowerBuilder extension
Step 1: Decide on a feature to implement
Step 2: Define the classes and functions in the extension
Step 3: Declare native classes and global functions
Step 4: Implement native classes and global functions
Step 5: Export methods to create class instances
Step 6: Build a PBX
Adding an extension to a PowerBuilder target
Using the extension
Creating and using a visual extension
Step 1: Decide on a feature to implement
Step 2: Define the classes and functions in the extension
Step 3: Declare visual classes and global functions
Step 4: Implement native classes
Step 5: Export methods to create class instances
Step 6: Build and use a PBX
Step 7: Use the visual extension in an application
Creating visual class instances
Event processing in visual extensions
Using an event name with return type and arguments
Using an event name with a PowerBuilder event ID
Processing events sent to the parent of the window
Calling PowerScript from an extension
Example: Calling PowerBuilder functions
Exception handling and debugging
Creating Marshaler Extensions
About marshaler extensions
Developing the PowerBuilder extension
Step 1: Describe the extension
Step 2: Implement the creator class
Step 3: Implement the marshaler class
Generating proxies for Java classes
Calling the Java class from PowerBuilder
Exchanging Data with PowerBuilder
About exchanging data with PowerBuilder
Passing values between extensions and the PBVM
PBCallInfo structure
IPB_Arguments interface
IPB_Value interface
Using the IPB_Session interface
Saving data from IPB_Value to a local variable
Using variables throughout a session
Handling enumerated types
Calling PowerBuilder from C++
About calling PowerScript from C++ applications
Calling PowerBuilder objects from C++
Creating a PowerBuilder object to be called from C++
Getting the signature of a function
Creating the C++ application
Load the PowerBuilder VM
Call PB_GetVM to get a pointer to the IPB_VM interface
Create an IPB_Session object within IPB_VM
Create an instance of the PowerBuilder object
Initialize the PBCallInfo structure
Call the PowerBuilder function
Write cleanup code
Running the C++ application
Accessing result sets
Processing PowerBuilder messages in C++
Examples
More PBNI possibilities
PBNI Types and Return Values
PowerBuilder to PBNI datatype mappings
Types for access to PowerBuilder data
PBNI enumerated types
Error return values
PBNI Interfaces, Structures, and Methods
Header file contents
Class and interface summary
IPB_Arguments interface
IPB_ResultSetAccessor interface
IPB_RSItemData interface
IPB_Session interface
IPB_Value interface
IPB_VM interface
IPBX_Marshaler interface
IPBX_NonVisualObject interface
IPBX_UserObject interface
IPBX_VisualObject interface
PBArrayInfo structure
PBCallInfo structure
PB_DateData structure
PB_DateTimeData structure
PB_TimeData structure
PBX_DrawItemStruct structure
PBArrayAccessor template class
PBBoundedArrayCreator template class
PBBoundedObjectArrayCreator class
PBObjectArrayAccessor class
PBUnboundedArrayCreator template class
PBUnboundedObjectArrayCreator class
Exported methods
Method exported by PowerBuilder VM
PBNI Tool Reference
pbsig125
pbx2pbd125
Using the Visual Studio Wizards
Where the wizards are installed
Generating a PBNI project
Setting project options
Building and using the PBX
Extension Reference
About this book
PowerBuilder Extensions
About PowerBuilder extensions
Using PowerBuilder extensions
Getting information about PowerBuilder extensions
EJB Client
EJBConnection
EJBTransaction
JavaVM
Web Services Client
SoapConnection
SoapException
SoapPBCookie
UDDIProxy
PowerBuilder Document Object Model
About PBDOM
Node trees
XML parser
Objects and methods
PBDOM objects
PBDOM_ATTRIBUTE Class
PBDOM_ATTRIBUTE
PBDOM_BUILDER Class
PBDOM_BUILDER
PBDOM_CDATA Class
PBDOM_CDATA
PBDOM_ENTITYREFERENCE Class
PBDOM_ENTITYREFERENCE
PBDOM_CHARACTERDATA Class
PBDOM_CHARACTERDATA
PBDOM_COMMENT Class
PBDOM_COMMENT
PBDOM_DOCTYPE Class
PBDOM_DOCTYPE
PBDOM_DOCUMENT Class
PBDOM_DOCUMENT
PBDOM_ELEMENT Class
PBDOM_ELEMENT
PBDOM_EXCEPTION Class
PBDOM exceptions
PBDOM exception descriptions
EXCEPTION_USE_OF_UNNAMED_PBDOM_OBJECT
EXCEPTION_WRONG_DOCUMENT_ERROR
EXCEPTION_MULTIPLE_ROOT_ELEMENT
EXCEPTION_INAPPROPRIATE_USE_OF_PBDOM_OBJECT
EXCEPTION_PBDOM_OBJECT_INVALID_FOR_USE
EXCEPTION_PBDOM_OBJECT_ALREADY_HAS_PARENT
EXCEPTION_MULTIPLE_DOCTYPE
EXCEPTION_ILLEGAL_PBOBJECT
EXCEPTION_WRONG_PARENT_ERROR
EXCEPTION_INVALID_ARGUMENT
EXCEPTION_INVALID_NAME
EXCEPTION_DATA_CONVERSION
EXCEPTION_MEMORY_ALLOCATION_FAILURE
EXCEPTION_INTERNAL_XML_ENGINE_ERROR
EXCEPTION_MULTIPLE_XMLDECL
EXCEPTION_INVALID_STRING
EXCEPTION_INVALID_OPERATION
EXCEPTION_HIERARCHY_ERROR
EXCEPTION_PBDOM_OBJECT_ALREADY_HAS_OWNER
EXCEPTION_PBDOM_NOT_INITIALIZED
PBDOM_EXCEPTION
PBDOM_OBJECT Class
PBDOM_OBJECT
PBDOM_PROCESSINGINSTRUCTION Class
PBDOM_PROCESSINGINSTRUCTION
PBDOM_TEXT Class
PBDOM_TEXT
PBDOM Summary
Summary of PBDOM classes and methods
PowerBuilder Application Server Plug-in 1.1
PowerBuilder Application Server Plugin 1.0
SAP Sybase PowerDesigner 16.5 SP03
SAP Sybase PowerDesigner 16.5 SP02
PowerDesigner 16.5
PowerDesigner 16.1
PowerDesigner 16.0
Real-Time Data Services 4.5
Real Time Data Services 4.0
Real Time Data Services 3.5
Replication Agent 15.0
Replication Agent for DB2 UDB 15.0
SAP Replication Server 15.7.1 SP203
SAP Replication Server 15.7.1 SP202
SAP Replication Server 15.7.1 SP201
SAP Replication Server 15.7.1 SP200
SAP Replication Server 15.7.1 SP200 (Japanese)
SAP Replication Server 15.7.1 SP200 (Simplified Chinese)
Replication Server 15.7.1 SP110
Replication Server 15.7.1 SP100
Replication Server 15.7.1
Replication Server 15.7.1 (Japanese)
Replication Server 15.7.1 (Simplified Chinese)
Replication Server 15.7
Replication Server 15.6
Replication Server 15.5
Replication Server 15.2
Replication Server 15.1
Replication Server 15.0.1
Replication Server 15.0
SAP Replication Server Data Assurance Option 15.7.1 SP202
SAP Replication Server Data Assurance Option 15.7.1 SP200
Replication Server Data Assurance Option 15.7.1 SP110
Replication Server Data Assurance Option 15.7.1 SP100
Replication Server Data Assurance Option 15.7.1
Replication Server - Data Assurance Option 15.7.1 (Japanese)
Replication Server - Data Assurance Option 15.7.1 (Simplified Chinese)
Replication Server Data Assurance Option 15.7
SAP Replication Server, heterogeneous edition 15.7.1 SP200
Replication Server Heterogeneous Edition 15.7.1 SP100
Replication Server Heterogenous Edition 15.7.1
Replication Server Heterogenous Edition 15.7.1 (Japanese)
Replication Server Heterogenous Edition 15.7.1 (Simplified Chinese)
Replication Server Heterogenous Edition 15.6
Replication Server Heterogeneous Edition 15.2
Replication Server Messaging Edition 15.7.1 [SP100]
Replication Server Messaging Edition 15.7.1
Replication Server Messaging Edition 15.2
Replication Server Option for Oracle 15.7.1 ESD #2
SAP Replication Server Options 15.7.1 SP201
SAP Replication Server Options 15.7.1 SP200
Replication Server Options 15.7.1 SP120
Replication Server Options 15.7.1 SP100
Replication Server Options 15.7.1
Replication Server Options 15.7.1 (Japanese)
Replication Server Options 15.7.1 (Simplified Chinese)
Replication Server Options 15.6
Replication Server Options 15.5
Replication Server Options 15.2
Replication Server Options 15.1
Replication Server Options 15.0
Replication Server Real-Time Loading Edition 15.7.1 ESD #2
SAP Mobile Platform SDK 3.0 SP02
SAP Mobile Platform Server 3.0 SP02
SAP Mobile Platform SDK 3.0 and SP01
SAP Mobile Platform 2.3 SP04
SAP Mobile Platform 2.3 SP03
SAP Mobile Platform 2.3 SP02
SAP Mobile Platform 2.3
SAP Sybase RAP 5.0
SDK for SAP ASE 16.0
Software Developers Kit 15.7 SP127
Software Developer's Kit 15.7 SP121
Software Developer's Kit 15.7 SP110
Software Developer's Kit 15.7 SP100
Software Developer's Kit 15.7
Software Developer's Kit 15.5
Software Developer Kit 15.0
Software Developer Kit 12.5.1
SQL Anywhere 12.0.1
SQL Anywhere 12.0.0
SQL Anywhere 11.0.1
SQL Anywhere 11.0.0
SQL Anywhere 10.0.1
SQL Anywhere 10.0
Sybase Aleri Streaming Platform 3.1
Sybase Aleri Streaming Platform 3.2
Sybase Brand Mobiliser 1.3
Sybase Brand Mobiliser 1.2
Sybase Brand Mobiliser 1.1
Sybase CEP Option R4
SAP Control Center 3.3
Sybase Control Center 3.2.8 ESD2
Sybase Control Center 3.2.8 ESD1
Sybase Control Center 3.2.8
Sybase Control Center 3.2.7
Sybase Control Center 3.2.6
Sybase Control Center 3.2.5
Sybase Control Center 3.2.4
Sybase Control Center 3.2.3
Sybase Control Center 3.2.1
Sybase Control Center 3.2
Sybase Control Center 3.1.1
Sybase Control Center 3.1
Sybase Control Center 3.0.1
Sybase Control Center 3.0
Sybase ETL 4.9
Sybase ETL 4.9 (Simplified Chinese)
Sybase ETL 4.9 (Japanese)
Sybase ETL 4.8
Sybase ETL 4.8 - Simplified Chinese
Sybase ETL 4.8 - Japanese
SAP Sybase Event Stream Processor 5.1 SP04
SAP Sybase Event Stream Processor 5.1 SP03
SAP Sybase Event Stream Processor 5.1 SP02
Sybase Event Stream Processor 5.1 SP01
Sybase Event Stream Processor 5.1
Sybase Event Stream Processor 5.0
Sybase Event Stream Processor 5.0 (Japanese)
SAP Sybase IQ 16.0 SP04
SAP Sybase IQ 16.0 SP03
SAP Sybase IQ 16.0 SP03 (Japanese)
SAP Sybase IQ 16.0 SP03 (Simplified Chinese)
SAP Sybase IQ 16.0 SP2
SAP Sybase IQ 16.0 SP01
SAP Sybase IQ 16.0
Sybase IQ 15.4
Sybase IQ 15.4 (Japanese)
Sybase IQ 15.4 (Simplified Chinese)
Sybase IQ 15.3
Sybase IQ InfoPrimer 15.3
Sybase IQ 15.3 (Japanese)
Sybase IQ 15.3 (Simplified Chinese)
Sybase IQ 15.2
Sybase IQ 15.2 - (Japanese)
Sybase IQ 15.2 (Simplified Chinese)
Sybase IQ 15.1
Sybase IQ 15.1 - Japanese
Sybase IQ 15.1 - Simplified Chinese
Sybase IQ 15.0
Sybase mBanking 365 3.0
Sybase mBanking 365 2.1
Sybase mBanking 365 2.0
Sybase Mobile Sales for SAP CRM 1.2.1
Sybase Mobile Sales for SAP CRM 1.2
Sybase Mobile Sales for SAP CRM 1.1
Sybase Mobile Sales for SAP CRM 1.0
Sybase Mobile Workflow for SAP Business Suite 1.2.1
Sybase Mobile Workflow for SAP Business Suite 1.2
Sybase Mobile Workflow for SAP Business Suite 1.1
Sybase Mobiliser Platform 5.1 SP03
Sybase Mobiliser Platform 5.1
Sybase Mobiliser Platform 5.0
Sybase SAP DOE Connector 2.1
Sybase SAP DOE Connector 2.0
Sybase Search 3.1
Sybase Unwired Platform 2.2 SP05
Sybase Unwired Platform 2.2 SP04
Sybase Unwired Platform 2.2 SP03
Sybase Unwired Platform 2.2
Sybase Unwired Platform 2.1 ESD #3
Sybase Unwired Platform 2.1 ESD #2
Sybase Unwired Platform 2.1 ESD #1
Sybase Unwired Platform 2.1
Sybase Unwired Platform 2.0 ESD #1
Sybase Unwired Platform 2.0
Sybase Unwired Platform 1.5.5
Sybase Unwired Platform 1.5.3
Sybase Unwired Platform 1.5.2
Sybase Unwired Platform 1.2.4
Sybase Unwired Platform 1.2.2
Sybase Unwired Platform 1.2.1
Sybase Unwired Platform 1.2
Sybase WorkSpace 2.5
Sybase WorkSpace 2.1.2
Sybase WorkSpace 2.1
SyBooks 3.4
SyBooks 3.0.1
SySAM Documentation
SySAM Documentation - Japanese
SySAM Documentation - Simplified Chinese
Sybase WorkSpace 2.0.2
SyBooks Online Infocenter Help