This section lists additional changes in functionality in PowerBuilder 10.
Exception handling support in machine code
In previous releases of PowerBuilder, you could not use try-catch statements in your code if you planned to distribute your application with machine code DLLs instead of PBDs. This restriction has been removed in PowerBuilder 10.
You can use the new Notify event for TreeView controls to process custom drawing messages.
Flat look for buttons
The FlatStyle property for command and picture buttons lets you use the button style used in the Microsoft Rebar (coolbar) control.
New SaveAsFormattedText function
The SaveAsFormattedText method for DataWindow controls and DataWindow objects has the same function as SaveAsAscii, but it lets you select the encoding of the file to which you save.
New FileReadEx and FileWriteEx functions
The FileReadEx and FileWriteEx functions have been added to provide support for larger files. The existing FileRead and FileWrite functions can handle files with up to 32,765 bytes. Note that the new functions return a long value instead of an integer value.
New FileLength64 and FileSeek64 functions
The FileLength64 and FileSeek64 functions have been added to provide support for larger files. The existing FileLength and FileSeek functions return a long value and can be used with files whose size is less that 2GB. The new functions return a longlong value and can be used with files of any size.
Additional parameter for SaveAsAscii
The SaveAsAscii method for DataWindow controls and DataWindow objects has an additional parameter, RetainNewLineChar. This parameter is a boolean value that determines whether line feed and carriage return characters contained within the row are converted to white space. Values are:
- true - line feed and carriage return characters within the row are not converted to white space
- false (default) - line feed and carriage return characters within the row are converted to white space
Generating a JSP Web services test page
In PowerBuilder 10, you can create a test page for Web services that you select in the the JSP Web Service Proxy wizard. To create the test page, you must select the Generate Test Case check box on the Input Generation Value page of wizard. When you select this check box, you can enter a name for the test page in the Test Case Name text box. By default, the test page name uses the name of the Web service and appends a JSP suffix.
Properties for custom printer page
A new value for the DataWindow object Print.Paper.Size property and two new Print properties have been added. To specify a user-defined paper size, set the Paper.Size property to 256, then set the Print.CustomPage.Length and Print.Custom.Page.Width properties to the desired size in millimeters. These properties are also available in PowerBuilder 9.0.2.
dw_1.Object.DataWindow.Print.Paper.Size = 256
dw_1.Object.DataWindow.Print.CustomPage.Length = 254 // 10 inches
dw_1.Object.DataWindow.Print.CustomPage.Width = 190 // 7 inches
Several environment variables were introduced in maintenance versions of PowerBuilder 8 and PowerBuilder 9. You can set them in a batch file that launches the application, or as a system or user environment variable on the computer or server on which the application or component runs. All of these variables can be used with PowerBuilder components in EAServer.
The variables that help you control memory management can also be used with PowerBuilder applications:
The following environment variables control how EAServer behaves when unhandled internal exceptions and runtime errors are raised by PowerBuilder components:
When EAServer uses XSL-FOP to produce a PDF file, it writes informational and warning messages to the Jaguar log. You can prevent these messages from being written to the log file by setting the environment variable PB_FOP_SUPPRESSLOG to 1.