Advanced Development Environment Configuration

Notice
This document provides extra information on the development environment for advanced users only. Use of this information presumes knowledge of the registry. This information is provided for those developers who wish to make use of it. However, Because this is not a part of the standard documentation, this information is likely to change between releases without backward compatibility and no guarantees are made by Sybase, Inc. that this technology will be supported in any way or in any future release of PowerBuilder. This is considered an advanced and unsupported feature. Use at your own risk.

Notation

This document uses the following notational conventions:

name -- italics are used for placeholders
| -- separates different choices
[ ] -- surrounds optional items

Base Registry Keys

PowerBuilder use the following registry keys:

HKEY_CURRENT_USER\Software\Sybase\PowerBuilder\7.0
HKEY_LOCAL_MACHINE\Software\Sybase\PowerBuilder\7.0

InfoMaker uses the following registry keys:

HKEY_CURRENT_USER\Software\Sybase\InfoMaker\7.0
HKEY_LOCAL_MACHINE\Software\Sybase\InfoMaker\7.0

DataWindow Builder uses the following keys:

HKEY_CURRENT_USER\Software\Sybase\DataWindowBuilder\7.0
HKEY_LOCAL_MACHINE \Software\Sybase\DataWindowBuilder\7.0

International versions will add a one letter suffix to the version (i.e. 7.0u)

u - Unicode
j - Japanese

Through the remainder of this document, the product's HKEY_CURRENT_USER key will be abbreviated to product-hkcu and the product's HKEY_LOCAL_MACHINE key will be abbreviated to product-hklm.

Painter Names

Both URLs and the command line make use of painter names.

The following painter names are valid for PowerBuilder, InfoMaker, and DataWindow Builder:

http
ftp
mailto
execute
wizard
Database
DBProfile
DataPipeline
FileEdit
Library
Query
Report
RunReport

The following additional painter names are valid for PowerBuilder:

Application
DataWindow
Debug
Function
Menu
Project
RunWindow
Structure
UserObject
Window

The following additional painter names are valid for InfoMaker:

Form

The following additional painter names are valid for DataWindow Builder:

DataWindow

PowerBuilder URLs

Internet URL format is identified by the leading slashes "//" and follows the pattern:

<service>://<user>:<password>@<host>:<port>/<url-path>

This format is usually extended to support parameters with the following format:

<service>://<user>:<password>@<host>:<port>/<path>
?<name>=<value>&<name>=<value>

The following parts may be excluded:

<user>:<password>@
:<password>
:<port>
/<path>?<name>=<value>&<name>=<value>
?<name>=<value>&<name>=<value>
&<name>=<value>

The following part may be repeated at the end of the pattern:

&<name>=<value>

The service may only consist of the characters:

a-z  0-9  .  +  -

In the path on Wintel, the following translations occur:

: |
\ /

In the name and value sections, the following translations occur:

space +
+ %2b

In the user, password, host, and port sections, the following translation occurs:

/ %2f

In all sections, the following characters are otherwise encoded as % with two hex characters:

0x00-0x1f  space  0x7f-0xff  
<  >  "  #  %  {  }  |  ^  ~  [  ]  `  ;  @  ?  =  &  :  \

Service identifies the component that will interpret the remainder of the URL. Path generally points to the content. Often, the extension in the path or the content is used by the service to identify another component that processes the content. The parameters can be used by the service or the component processing the content.

The following standard browser URL services are supported and they all invoke the default browser to process them.

http://user:password@host/path
ftp://user:password@host
mailto:user@host

For example:

http://www.sybase.com
ftp://www.sybase.com
mailto:support@sybase.com

Programs can be executed with the following URL:

execute://path?args=arguments

For example:

execute://C|/Program Files/Microsoft Office/Office/winword.exe?args=c:\My+Documents\Sample.doc

Windows that are a part of the internal wizard application can be opened with:

wizard:?entry=windowname
wizard:?entry=windowname/option

where option may be

0 -- start wizard 
1 -- object wizard
2 -- project wizard

For example:

wizard:?entry=w_sample

Painters that don't work on objects in a library or file, can be opened using:

painter://

Painters that operate on objects in a file, can be opened using:

painter://?action=new
painter://file?action=dosfile

Painters that operate on objects in a library, can be opened using:

painter://?action=new
painter://library?action=open&entry=objectName
painter://library?action=inherit&entry=objectName
painter://library?action=run&entry=objectName
painter://library?action=runonly&entry=objectName

The painter userobject also supports the following additional arguments for new user objects (may be added to the end of the URL separated by &):

udotype=cv|ev|sv|cnv|snv
udoclass=class-name

The painters userobject, window, and application also support the following additional arguments for positioning to an individual script:

function=function-name
control=control-name
event=event-name
line=line-number

The painters userobject, window, application, and function also support the following additional arguments for positioning to a structure:

structure=structure-name

The painter project also requires the following additional argument for specifying the project type when action=new.

guid={genererator-guid}

The GUIDs for the projects are:

{bb0dd543-b36e-11d1-bb47-000086095dda} -- Application
{36A08730-A06D-11D0-AEDC-00A0D103F6BC} -- Proxy Library
{1B1DCEE1-E514-11D1-B30A-006008925BD4} -- Jaguar Proxy
{DF93F2A2-E504-11D1-B30A-006008925BD4} -- Jaguar Component
{3D326055-5AB3-11D1-9281-00A0247712F1} -- COM/MTS Component
{CA82AC28-36A9-11d2-B30B-006008925BD4} -- Automation Server
{DA7487C2-3843-11d2-B30F-00600825A521} -- Web.PB
{44E34E90-41B2-11D1-BD7B-080009AC019B} -- Java Proxy

New Dialog

The new dialog can be customized to include additional icons. In this way, icons can be added that would, for instance, open a new window that is inherited from a specific object. The icons can map to any of the URLs described in the previous section.

Each item that appears in the new dialog must be registered under a key with a unique CLSID. The CLSID should be generated with Microsoft's GUIDGEN or UUIDGEN.

product-hklm\CLSID\{clsid}

The values that are supported under that key:

(default)=label
DefaultIcon=path,index
URL=internal-url

Icons appear in the PowerBuilder new dialog by specifying one of the following values:

StartTool=
ObjectTool=
DataWindowTool
DatabaseTool=
ProjectTool=
Tool=

Icons appear in the InfoMaker and DataWindow Builder new dialogs by specifying one of the following values:

IMLibraryTool=
IMObjectTool=
IMDatabaseTool=
IMTool=

Icons may be restricted to certain products by specifying one of:

OnlyInPB=
OnlyInIM= -- InfoMaker without form painter
OnlyInIX= -- InfoMaker with form painter
OnlyInDWB=

For example:

product-hklm\CLSID\{d49b4590-3880-11d2-bc50-000000000000}
(default)=Sybase Home Page
URL=http://www.sybase.com
DefaultIcon=C:\Program Files\PLUS!\Microsoft Internet\IEXPLORE.EXE,1
Tool=

To-Do List

All of the to-do list entries appear in the registry under the key:

product-hkcu\Application\$pbl-path(application-name)\ToDo

Where pbl-path is the path the application's library with slashes (\ or /) translated to $ and application-name is the name of the application.

Under that key the following values are used to save the number of items and the last selection:

Count=count
Selection=selection

Each of the to-do entries are stored under sequentially numbered values of the format:

n=y|n ~t text ~t URL

The y or n represents the checked state of the item. The checked state, text, and URL are separated by tab characters (~t). The URL may be any of the URLs described in the URL section above.

Note: When the to-do list is closed, it completely rewrites this key. Any changes made to this key while the to-do list is open will be lost.

To-Do List Wizards

With the following registry entries, additional entries may be added to a user's to-do list with a wizard is run.

product-hklm\CustomTo-Do\wizard-type\wizard-tab

where wizard-type may be one of:

template
jaguar proxy
jaguar component
com component
ole auto component

and wizard-tab may be one of:

start
object
project

Value names under this key can be any legal value name. All values will be used in alphabetical order.

The values must be a semicolon (;) delimited set of name=value pairs or an URL with a and text sub-value. For example:

Item1=service=window;path=c:\pbls\myapp.pbl;action=open;entry=w_main;text=Open w_main window
Item2=http://www.sybase.com;text=Go to Sybase web page

Wizard Application Lib List

The wizards in PowerBuilder were written using PowerBuilder itself. PowerBuilder simply starts up a run-time session with a separate application. Windows in this application are usually opened using an URL with a service of wizard. The library list to this application can be extended through the registry. A maximum of 30 libraries may be added.

The library values must be under the key:

product-hklm\WizardLibraries

The libraries must be in sequentially numbered values. For example:

1=c:\powerbuilderextension1.pbd
2=c:\powerbuilderextension2.pbd

Note: If Sybase needs to add additional wizards between releases, the installation of those wizards will overwrite one or more of these entries.

Duplicating Configurations

To duplicate the keyboard shortcuts, toolbar configuration, or view layouts between machines use the Export Registry File and Import Registry File menu items in regedit.exe to duplicate the following keys:

product-hkcu\Shortcuts
product-hkcu\Toolbar
product-hkcu\Layout

Command Line Arguments

/painter painterName or /p painterName

  • Identifies the target painter. See the section above.

  • /library objectLibName or /l objectLibName

  • Identifies the library for an open or inherit operation.

  • /file fileName or /f fileName

  • Identify the file. For the painter FileEdit opens the specified file in the editor. For the painter Report, opens the specified .psr in the editor.

  • /open objectName or /o objectName

  • Identifies the object that the painter should be opened to display. The object MUST be in the library specified in the /library option.

  • /inherit ancestorName or /i ancestorName

  • Create a new object that inherits from the passed object that must be in the library specified in the /library option.

  • /argument argument or /a argument

  • A painter dependent argument. Used by Sybase only.

  • /new or /n

  • Indicates that a new object should be created.

  • /run or /r

  • Runs the painter. Used with painter project to run a project. Used with painter runreport to preview a datawindow. Used with form to preview a form.

  • /runonly or /ro

  • Run the painter and then close immediately. This can be used with the painter project to run a project and exit.

  • /appname appObjName or /ap appObjName

  • Specify the application object name. The object must exist in the library specified by /applibrary.

  • /applibrary appLibraryName or /appl appLibraryName

  • Indicates the library that the application is in. If there is only a single library in the library list, then the /librarylist parameter does not have to be specified.

  • /searchlist libList or /s libList
    /librarylist libList or /libraryl libList
    /path libList or /pat libList

  • Specify the library list. This does not need to be specified if the /applibrary is the only library.

  • /sdi

  • Indicates that the painter should operate in SDI look mode. This is done by maximizing the sheet and removing MDI menu items and decorations. The behavior of the frame is modified as well. When no sheet is visible, then the frame is made invisible.

  • /url painterUrl or /u painterUrl

  • Open according to an URL. See the section on URLs.

  • Toolbar Customization

    URLs may also be entered as the command line for custom toolbar items in the toolbar customization dialogs.

     

     

       

    This is G o o g l e's cache of http://www.sybase.com.cn/cn/content/support/exp_jszc_pb_General_00005.htm.
    G o o g l e's cache is the snapshot that we took of the page as we crawled the web.
    The page may have changed since that time. Click here for the current page without highlighting.
    To link to or bookmark this page, use the following url: http://www.google.com/search?q=cache:ctrtSi1fT5MJ:www.sybase.com.cn/cn/content/support/exp_jszc_pb_General_00005.htm&hl=en&ie=UTF-8


    Google is not affiliated with the authors of this page nor responsible for its content.