- Develop more productively. The enhanced Synergy/DE 9 compiler will save you significant development effort by finding more bugs while you are developing your applications instead of letting them through for you to discover during testing—or even more costly, after you’ve deployed. Other productivity-enhancing features include Workbench improvements, dynamic arrays, structured exception handling, UI Toolkit parent/child windows, and (9.1.3) more powerful xfNetLink .NET development tools.
- Take advantage of objects. Incorporate OO techniques into existing applications, or create full-blown OO applications that leverage all the benefits of OO programming. These benefits include the ability to develop new programs more quickly and to create programs that are easier to maintain and reuse. (Your developers and future hires will be enthusiastic about having these capabilities in their toolset.)
- Improve the quality of your applications. Just compile your code, and chances are the enhanced Synergy/DE 9 compiler will discover hidden errors that have been jeopardizing the integrity of your Synergy solutions.
Synergy/DE 9 is the next step in your applications’ evolution,
enabling you to continue leveraging your valuable software investment.
Select the links below for details about Synergy/DE 9. And please
let us know how we can assist you as you move your applications forward.
Features and Benefits
NEW! (9.1.5) Ability to embed .NET forms, .NET controls, and Windows Presentation Foundation (WPF) elements in UI Toolkit windows. You will now be able to leverage third-party .NET components in your UI Toolkit applications, to enhance user interfaces or add new capabilities.
NEW! (9.1.5) New FOREACH statement provides new syntax for looping through entire collections. It can be simpler than other FOR loops because it doesn’t need a loop counter, and it will be especially useful if you use System.Collections.ArrayList arrays.
NEW! (9.1.5) New “-R” linker option enables you to create an ELB that includes only the routines from the OLB(s) that are needed to resolve the routines in the ELB. For example,
dblink -l test1.elb test1.dbo -R test2.olb -R test3.olb
This feature may significantly reduce the size of ELBs you create when you use gennet to generate Synergy classes to wrap the classes in .NET assemblies. (Developers often use just 1-2% of those classes.)
(9.1.3) The Synergy .NET assembly API enables you to access .NET assemblies in your Synergy applications. These .NET assemblies might include visual components, such as forms, or non-visual components, such as .NET’s XML parser or DataTables.
(9.1.3) More powerful xfNetLink .NET development tools add power to your programming—new capabilities and added flexibility.
(9.1.3) Support for Microsoft Windows Server 2008, SQL Server 2008, and Visual Studio 2008 enables you to support Microsoft’s latest releases.
(9.1.3) GO/DEBUG debugger command instructs the debugger to go to the next statement or routine that is compiled with debug.
(9.1.3) B_INFO UI Toolkit routine provides information about buttons on Windows.
(9.1.3) SlickEdit upgrade for Workbench is included in Synergy/DE 9.1.3.
Redeveloped compiler improves
developer productivity and application quality with
strong prototyping and enhanced error checking.
Support for Synergy objects enables
you to develop new programs more quickly and to create programs that are easier to maintain and reuse.
Improved Workbench increases developer productivity with support for all Synergy Language syntax and an upgrade to SlickEdit v11.
Parent/child relationships between
UI Toolkit windows enable
you to include ActiveX controls in the tabbing order, among other
things.
New Synergy Language infrastructure enables Synergy Language (and thus your Synergy applications) to grow and more easily keep pace with evolving technologies.
Other Synergy/DE enhancements provide
additional benefits to developers.
Support for Windows x64 and Windows Vista gives
you more options and enables you to meet user requirements for
these platforms.
Learn more about these features and benefits.
Articles
The following articles were published in Synergy-e-News. More will
follow.
Platforms
Synergy/DE 9 is supported on the platforms listed below. The version
numbers specified are the minimum versions on which Synergy/DE 9
is supported. For additional platform
details, see our Synergy/DE Platforms chart.
Windows
Unix
- SCO OpenServer (5.0.6; also, SCO UnixWare 7.1.1)
- AIX 32-bit (5.2)
- AIX 64-bit (5.2)
- HP-UX 32-bit (11i)
- HP-UX 64-bit (PA-RISC) (11i)
- HP-UX Itanium (11i version 2 (11.23))
- Solaris 32-bit (9)
- Solaris 64-bit (SPARC) (9)
- Solaris 64-bit (x64/x86) (10)
- Tru64 UNIX (5.1)
- Linux (Red Hat Enterprise
Linux 3,
SUSE LINUX 9.0)
- Linux 64-bit Extended (EM64T) (Red Hat Enterprise Linux 4
WS Update 1 for AMD64/EM64T
- SCO Unixware (7.1.1; also, SCO OpenServer 5.0.6)
OpenVMS
- OpenVMS Alpha (7.2)
- OpenVMS I64 (Integrity server) (8.3).
(Before you upgrade to Synergy/DE 9.1.5 on OpenVMS I64 (Integrity server), you must install HP's ICXXL patch, which includes a required C++ runtime fix. See the 9.1.5 Installation Configuration Guide (pdf) for instructions on obtaining HP patches.)
Requirements and Other Information
See the Synergy/DE 9.1.5 Requirements page for information about obtaining new keys, runtime compatibility, and minimum versions for third-party products that we interface with or support.
For more details about changes to be aware of when updating to Synergy/DE 9, see the Quick Migration Guide.
Upgrade Information
Upgrading from Synergy/DE 9.1.3 (Changes introduced in v9.1.5)
-
Important note for customers upgrading from Synergy/DE 9.1.3 and using the System.Collections.ArrayList class
If you are upgrading from v9.1.3, and you are using the System.Collections.ArrayList class introduced in Synergy/DE 9.1.3, you will need to change your ArrayList references when you upgrade. In 9.1.3, the indexes used with this class were 1-based. In 9.1.5, these indexes were changed to be 0-based. (This change was made for interoperability with .NET and other languages.)
To “flag” your System.Collections.ArrayList references, the 9.1.5 runtime (and higher runtimes) will generate a fatal ALCOMPAT error when System.Collections.ArrayList is used. (This error will go away when you compile your code with the new version.) If you used this class with 9.1.3, you must perform one of two steps:
1) If you might migrate your code to .NET in the future, you should convert all ArrayList index references to be 0-based. This will be a requirement for interoperability with other .NET languages. We recommend using the FOREACH statement described above with all FOR loops that reference ArrayLists.
2) If future interoperability with .NET is of no concern, you can simply change all references to ArrayList to Synergex.SynergyDE.Collections.ArrayList, which remains 1-based.
Typically, these references to ArrayList will appear in two places: on imports at the beginning of source files and on ArrayList handle declarations where you’ve specified @System.Collections.ArrayList (or @Collections.ArrayList if you’ve imported the System namespace). If you are choosing step 2 above, you can change the IMPORT statement to use the Synergex.SynergyDE.Collections namespace instead, and if you have handles referencing System.Collections, you can change those to reference Synergex.SynergyDE.Collections instead.
- Change to composite window processing when there are no placed or enabled child windows or buttons. In UI Toolkit’s composite window processing, placed child windows are no longer included in the tabbing order or the C_NEXT/C_PREV order, and buttons on an unplaced child window are no longer included in the determination of the default button or of ALT+<key> button activation. Previously, if you called C_PROCESS for a composite window that had no placed or enabled child windows or buttons, C_PROCESS would wait for input because it included the unplaced child in the tabbing order. Now C_PROCESS returns immediately.
- Repository .INCLUDES in class now terminate by default. Repository record, structure, or literal .INCLUDEs in a class now terminate by default. Previously these .INCLUDEs were open-ended unless you specified an ",end" qualifier to terminate the construct.
- IndexOf and LastIndexOf methods now use array element’s Equals method to determine a match. The IndexOf and LastIndexOf methods in both System.Array and System.Collections.ArrayList now use the array element's Equals method (instead of the target object's) to determine a match. This is to conform to a change by Microsoft to .NET version 2.0. This change has the potential for breaking existing code if the System.Object.Equals method is overridden by objects in the array or the target object and they are different types.
Downloads
If you have Annual License Maintenance (ALM) and HelpDesk Support,
you can download Synergy/DE 9.1.5 from our
Web site.
Order Today
Contact your Synergy/DE account manager to
place your order for Synergy/DE 9.1.5.
|