News and Updates for Synergy/DE Developers

July 13, 2012


Test drive Synergy/DE 10 and get a chance at $500

Download Synergy/DE 10 Beta 1 and you may just win big

Read More

Synergy/DE Tech Tip

Invaluable tools to help you troubleshoot Synergy .NET assemblies

Read More

Synergy/DE Tech Tip

Shared library located outside of SYS$SHARE not found

Read More

Platform News

Read a selection of recent articles

Read More

Tame the record lock beast with Synergy/DE 9.5.3

Read the latest PSG blog

Read More


Synergy/DE pros, see if you can answer this question!

Read More


Synergy/DE pros, see if you can answer this question

Take Quiz

Introducing Synergy/DE WebDocs

New format makes it easy to access specific Synergy info via traditional Web search

How do you find information? These days many developers primarily use Google and other Web search engines to find information on development topics (as well as just about everything else). So to make information on Synergy development easier to find using a Web search engine, we've published the latest versions of four Synergy manuals in HTML format: the Synergy Language Reference Manual, Environment Variables and System Options, Synergy Language Tools, and the SQL Connection Reference Manual.

These manuals are published as HTML pages wrapped in a navigation/search framework we call Synergy/DE WebDocs, and they're available at (which you can access from the "Synergy/DE WebDocs" link on the Synergy/DE website: Synergy/DE WebDocs works with leading browsers, and it features an internal Google site search, TOC-style navigation, links for cross-references, and the ability to hide/show the navigation features.

Looking for information on a system-supplied routine? Maybe you need to know something about the %SYN_ATEXIT function. Go to Google, search for %SYN_ATEXIT, and click the result listed as "%SYN_ATEXIT - Register a routine to be called...". It should be right at the top of the list.

But not all Synergy development topics are as Synergy-specific as %SYN_ATEXIT. What if you want to read up on data types? Entering "data types" in Google won't bring up any Synergy information, at least not in the first few thousand hits. But if you add "Synergy" to the search (e.g., "Synergy data types"), you'll often find Synergy/DE WebDocs results near the top of the list. If there's just too much noise—too many non-Synergy hits in your search engine results—you can go straight to and use the internal Google site search instead. With this search, results are limited to the domain, so it's easy to find what you want. And suppose you already know where the information is; suppose you know that %SYN_ATEXIT documentation is in the "System-Supplied Subroutines and Functions" chapter of the Synergy Language Reference Manual. In that case, simply go to, click on the "Synergy Language Reference Manual" link, and use the TOC-style navigation pane to get to the page.

No matter how you get there, you'll see the full documentation for %SYN_ATEXIT or any other topic covered in the four published manuals. And you can view this information whenever and wherever you have access to the Web.

We hope Synergy/DE WebDocs proves to be another convenient way for you to find and view Synergy/DE documentation. Let us know what you think! Click the "Send feedback" link at the bottom of each WebDocs page. And remember, all the Synergy/DE manuals are still available in PDF on our website and can be ordered in hard copy as well.

A Fond (and Overdue) Farewell to UI Toolkitís gblctl.def and lstprv.def

By Matt Linder, Senior Technical Writer

For a number of years the UI Toolkit release notes have announced our plans to discontinue gblctl.def and lstprv.def. That day has arrived: as of version 9.5.3, these files are no longer distributed. Gblctl.def and lstprv.def provided access to information about the state of a UI Toolkit application, but they're no longer necessary because we've enhanced system-supplied UI Toolkit routines to return the same information. Routines are preferable because any change we made to gblctl.def or lstprv.def made it necessary to recompile all applications that used the file. Additionally, these files are not compatible with .NET Framework development.

To upgrade to Synergy/DE 9.5.3 or higher, you'll need to remove INCLUDEs for gblctl.def and lstprv.def and update code to instead call Toolkit routines that provide the information. For example, the glst_scrid field in lstprv.def enabled you to get the container window ID for a list. We added the D_LCTRID flag to L_STATUS to return this same ID, so if your code uses glst_scrid, replace it with a call to L_STATUS and pass D_LCTRID. If you find that you use gblctl.def or lstprv.def information that is not available through system-supplied Toolkit routines, please let us know as soon as possible so we can add support for that information.

This transition has been taking place over a number of years, so you probably won't need to do much to upgrade to 9.5.3. In any case, this change should reduce the number of times you'll have to compile when upgrading to future versions of UI Toolkit.

If you have any questions about this change, contact our Developer Support team.

Synergy DevPartner Conference Comes to a Close

Attendees are already putting their new skills to work

The 2012 Synergy DevPartner Conference wrapped up this month in York, England; and, as in Chicago, attendees were excited to learn about all of the new features in Synergy/DE. One Chicago attendee in particular, Steve Parish of BusinessCraft, recently sent us an email letting us know they had recently completed a project “as a direct result of the DevPartner Conference. …Synergex has recently released a library of routines that allow us to programmatically create a PDF file. Our initial implementation of this technology has been to allow ALL standard BusinessCraft reports to be redirected to a PDF file. This only took a few days of programming and is now ready for delivery.” Read all of the testimonials at

Updates on CodeGen, Symphony Framework, Windows 8, and More!!

Make sure youíre reading the PSG Blog

The Synergex Professional Services Group (PSG) blog is a valuable resource for staying in touch with the Synergy/DE technologies that your peer companies are implementing, as well as a go-to spot for gleaning valuable tips and tricks that will make your life (or your developers’ lives) easier and your applications better. Make sure you don’t miss a single post! Subscribe to the PSG blog RSS feed and get notifications when a new entry is submitted. Simply visit the PSG blog at to subscribe.

Synergy/DE Tech Tip

Shared library located outside of SYS$SHARE not found

By default, OpenVMS looks for shared libraries in SYS$SHARE. When a shared library is not located in SYS$SHARE, you must create a logical that specifies the location and filename (including extension) of the shared library. This logical must be created regardless of whether the shared library has been linked into the application or is accessed via OPENELB.

For example, if the shared library is named FRED, the logical needs to be named FRED with the location of the shared library as its value, as shown below:

$ define FRED logical:FRED.exe


$ define FRED dka0:[dir1.dir2]FRED.exe

You must use the logical rather than the shared library name in an OPENELB statement or XADDR function, or when creating a breakpoint at a routine in a shared image in the debugger.


Synergy/DE pros, see if you can answer this question!

In a UI Toolkit application, when a user types some data into a field and then selects the menu entry "O_EXIT," by default Toolkit resets the field to its original contents. How do you tell Toolkit to keep the user's input in that case?

a. set the first argument to an EENTRST_METHOD to false.
b. set the second argument to an EENTRST_METHOD to false.
c. return D_OK from an ICHANGE_METHOD.
d. return D_OK from an ILEAVE_METHOD.

Click to read answer

Platform News

Read a selection of recent articles


PSG Blog: Microsoft Surface

Use of system filter drivers can lead to SQL Server Database Engine performance degradation and consistency problems

Windows 8 nears the finish line: What's good, what's bad

Intel, ARM trade barbs over Windows 8, RT

Microsoft Windows Server 2012 reaches RC



Linux creator Linus Torvalds shares Millennium Technology Prize

Microsoft to run Linux on Azure



IPv6 launch day business as usual

The time for NoSQL standards is now