SYNERGY-E-NEWS
News and Updates for Synergy/DE Developers

September 30, 2011

 
Synergy/DE 9.5.3 will deliver several important features:
  • I/O event handling
  • Significant Synergy .NET enhancements
  • Cell-based UI Toolkit support for .NET
  • And many more

Get a jump start and download the beta today


Powerful, home-grown Synergy app gets a new Infragistics front-end
Jackson Lumber uses Synergy/DE xfServerPlus and Infragistics controls to give their app a slick new UI

Synergy/DE Tech Tip

VSLICKCONFIG error in Workbench

SlickEdit replaced the VSLICKCONFIG environment variable with SLICKEDITCONFIG as of Synergy/DE 9.3.1.


 

twitter.com/synergyde

SPC Sydney
The SPC is coming to Sydney December 13-14

Register today

The SPC is without a doubt the most efficient and effective way to get up to speed on the latest features in Synergy/DE — features that will make you more productive and your applications more powerful.


What does Windows 8 mean for Synergy/DE-based applications?

PSG went to the Microsoft BUILD conference to find out; see what they’ve been blogging

Free code for Synergy developers

Have you ever wanted to code a Synergy program to transfer files via FTP? 

There are advantages to doing this rather than relying on operating system functionality

Quiz

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

 

 

Get a jump start and download the beta today

A beta version of Synergy/DE 9.5.3 is now available for you to download. The upcoming Synergy/DE 9.5.3 release has several features to improve your applications and your productivity. Download the 9.5.3 beta today, and let us know what you think!

Synergy/DE 9.5.3 features include

  • I/O event handling. I/O statement hooks enable you to perform logic when any operation on your Synergy DBMS file is executed. For example, your application can call a method every time it is going to read, store, delete, or do any operation on a record. (For more information, see the PSG blog entry on this topic.)
  • Improved bounds checking in UI Toolkit. The default UI Toolkit library is now built with the –qstrict compiler option, which means it now meets a higher quality requirement. We also distribute a separate Toolkit library built with –qcheck, which you can link against to “qcheck” your application for errors and improve your Toolkit code.
    New UI Toolkit U_EDIT text editing routine. This routine is available on Windows for the beta test.
    xfNetLink Java enhancements.

    • Support for coerced types for parameters, return values, and structure fields for integer, decimal, and implied-decimal data types. Enables you to select a non-default data type, which will be used as the Java data type in the generated classes.
    • Support for passing enumerations (defined in the repository) as parameter and method return types, as well as enumerations that occur as fields within a structure parameter.
    • Support for the Synergy System.Collections.ArrayList class as a parameter.
  • Ability for the runtime to break into the debugger on an untrapped error. A new runtime startup switch, –dz, enables you to debug immediately following untrapped errors. (Windows, Unix)
  • A new clone method for the System.Collections.ArrayList and the Synergex.SynergyDE.Collections.ArrayList. This method performs a shallow copy of the objects in the original ArrayList into the newly created ArrayList, which means the new ArrayList has references to the same objects that are referenced in the original ArrayList.
  • Synergy .NET enhancements. An enormous list of new Synergy .NET features have been added to speed up your Synergy .NET development and to give you more great capabilities for your Synergy .NET applications. If you haven’t already started exploring Synergy .NET and where it fits into your product roadmap, this is the version to start with.
    • Support for declaring generic methods and structures
    •  Improved compiler performance
    •  Enhanced AppDomain support
    •  Improved code generation
    • Support for Lambda functions/closures
    • Support for extension methods
    • Type inference on data statements
    • Ability to set environment variables in app.config
    • Click-once deployment of Synergy .NET applications
    • Significant debugger performance improvements and the ability to use conditional expressions for watch points
    • Support for STATIC READONLY fields
    • Compiler “autoboxing” of value types when the value types are assigned to system object type variables to improve readability of generated code
    •  Enhancements to Synergy Language Integration with Visual Studio, including
      • Ability to deploy Synergy .NET applications in IIS (ability to use Synergy DLLs in Web applications directly)
      • Support for Data Source Wizards
    • And more…
  • Cell-based UI Toolkit library for .NET. Gives Unix and OpenVMS customers an option for moving UI Toolkit applications to .NET and for customers already on Windows to move back-office type programs to .NET. Your UI Toolkit applications will still be cell-based; for example, there will be no mouse or native menu controls, and no ability to maximize the application window. But you will be able to get your applications running quickly under .NET, and you can then migrate select screens to WinForms or WPF.



SPC SydneyThe SPC is coming to Sydney December 13-14

Register today

The SPC is without a doubt the most efficient and effective way to get up to speed on the latest features in Synergy/DE — features that will make you more productive and your applications more powerful. And SPC Sydney is no exception. With the sparkling Sydney Harbor and world-famous Sydney Opera House as your backdrop, you will spend two action-packed days acquiring knowledge and significant new skills in both Synergy/DE and the computer industry overall, enabling you to immediately extend your applications with the latest technologies. A combination of comprehensive presentations and hands-on tutorials will cover topics such as

  • All of the various UI options available for use with Synergy applications on Unix, OpenVMS, and Windows
  • How to make the most of your Synergy data by communicating with powerful relational databases
  • Designing and implementing server applications — what to consider and how to get started
  • And more

Get all of the details at spc.synergex.com/australia..


Powerful, home-grown Synergy app gets a new Infragistics front-end
Jackson Lumber uses Synergy/DE xfServerPlus and Infragistics controls to give their app a slick new UI

Jackson Lumber & Millwork has been providing quality building materials since 1946. Their business runs on three Synergy/DE-based applications that they develop in-house. All use xfServerPlus to connect to their back-end Synergy methods from a variety of platforms, such as ASP.NET, WinForms, and Web services.

Jackson Lumber’s internal application has a .NET WinForms user interface and is used to run and manage all aspects of their business, including sales, inventory control, manufacturing, purchasing, dispatching, marketing, and accounting. Like their other applications, the internal application is extremely feature-rich, having been fine-tuned and perfected over the years to meet their specific business needs. However, Jackson Lumber wanted to make the application more visually appealing, so they incorporated Infragistics WinForms controls throughout the user interface, including data grids, gauges, graphics, calendar editors, and buttons. “Initially, we used Visual Studio out of the box,” explains Jackson’s IS Director Don Piccirillo. “But we found we were burning a lot of time developing and tweaking the tools to meet our needs. We switched to Infragistics and have stayed with them ever since.”

With Infragistics, developers can pick a theme that they like and give their application a consistent look and feel. Further, Infragistics offers advanced controls such as data grids and gauges, making it easy to produce a sophisticated UI.

Production Performance

Sales Standings

Single Interior Door Unit

Jackson Lumber’s ASP.NET external contractor site was also developed around proven Synergy/DE xfServerPlus methods and uses the Infragistics ASP.NET web controls:

Contractor Site

Jackson Lumber’s third application is a Windows Mobile application that uses .NET Web Services to expose their proven Synergy xfServerPlus methods to mobile devices internally for manufacturing, receiving, warehousing, and purchasing as well as externally on delivery trucks for order tracking and signature capture. They are also currently beginning a “Sales Pad” ASP.NET application for their outside sales force. With the Infragistics controls, they’ll be able to build a powerful tablet-based Web application that will use xfServerPlus to interface with their back-end Synergy/DE-based system.

“Our applications are extremely rich in functionality,” concludes Piccirillo. “xfServerPlus enables us to leverage all of our proven methods and data through a number of angles so the UI is as sophisticated as the application. And Infragistics controls make it that much easier to produce a slick and modern UI that is intuitive to users and impressive to customers.”

Jackson Lumber & Millworks is one example of a customer taking advantage of the latest technologies to give their proven Synergy applications a modern user interface. If you want to explore how you can do something similar with your applications, contact your Synergy/DE account manager.

 




What does Windows 8 mean for Synergy/DE-based applications?
PSG went to the Microsoft BUILD conference to find out; see what they’ve been blogging

“As you may know from a couple of recent posts, I had started to do some research about what Windows 8 might mean to Synergex, and to our customers, and to our customers’ customers … and to be quite honest I had more questions than answers!” Read the entire post: http://blogs.synergex.com/psg_blog/2011/09/14/windows-reimagined/


Free code for Synergy/DE customers
Have you ever wanted to code a Synergy program to transfer files via FTP? 

There are advantages to doing this rather than relying on operating system functionality. For example, using the SPAWN routine to execute a system-level FTP command may require you to supply a file with the FTP server address, user name, and password in plain text. However, by putting the FTP code in your Synergy program, this information is hidden, and your program can make sure the transfer completes successfully before moving on to the next line of code. Sound useful? Then check out the FtpClient CodeExchange entry. Not only will this entry show you how it's done, but you'll get code that you can use with your own Synergy programs. The download includes classes with all of the functionality needed to transfer files to a remote FTP server, as well as an example Synergy program that uses these classes to transfer a text file to an FTP server for FreeBSD. The classes support binary and ASCII transfer modes and both active and passive server connections. Note that to use FTPClient, you'll need Synergy/DE 9.5.1 or higher.

For more information and the code, see CodeExchange. CodeExchange is available for free in the Synergy/DE Resource Center to supported Synergy/DE customers. Be sure to take advantage of this great resource, and don't forget to submit your own CodeExchange entries so that other Synergy developers can benefit from your cool code.

Synergy/DE Tech Tip
VSLICKCONFIG error in Workbench

When I open Workbench, I get a "VSLICKCONFIG is not supported" message followed by a Slick-C "Invalid XMLCFG handle" error. What's wrong?

SlickEdit replaced the VSLICKCONFIG environment variable with SLICKEDITCONFIG as of Synergy/DE 9.3.1. If you customized your configuration directory with VSLICKCONFIG, you will need to update your environment, as VSLICKCONFIG will no longer work.

Check both your system and user environment variables to make sure that VSLICKCONFIG is not defined. If it's there, remove it. Also, check that VSLICKCONFIG is not defined in your synergy.ini or synuser.ini file. Once you remove this environment variable, the warning message and Slick-C error should go away.


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

What is the output of the following program?

    main
    record
           x     ,a1
           y     ,a1
    proc
           open(1,o,"TT:")
           x = 12
           y = 21
           writes(1,  %string(%add(x,y)))
    end
   
    function add, ^val
    in req mismatch   a      ,n
    in req mismatch   b      ,n
    proc
          freturn a + b
    end
   

a. "33"
b. "3"
c. "1221"
d. "21"
e. This does not compile

Click to find out the answer.