Synergex
 
  Synergy-e-News
 
  News and updates for Synergy/DE Developers :: February 25, 2010
 
 
 
RECENT BLOG POSTS

Richard Morris: Now that's what I call service!

William Hawkins: Using Workbench to build applications on remote servers
ANNOUNCEMENTS


Synergy/DE 9.3.1a patch is available

Synergy/DE 9.3 is released
UPCOMING EVENTS

SPC 2010 is coming to Sacramento October 4-8
 
IN THIS ISSUE
 
Synergy/DE 9.3.1a Patch is Now Available
Update now to get important fixes

Synergy/DE is Now “Compatible with Windows 7”
“But didn’t Synergy/DE already support Windows 7?” you ask…

Spotlight on Synergy/DE 9.3: Developing xfServerPlus Applications Just Got Easier
by Galen Carpenter, Senior Programmer, Synergy/DE

Synergy/DE Tech Tip
XSUBR call causes untrappable segmentation violation error

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

Platform News
Read a selection of recent articles
 
 
   
Synergy/DE 9.3.1a Patch is Now Available
Update now to get important fixes

The Synergy/DE 9.3.1a patch is now available for all supported platforms. It includes a number of important fixes, and it has been tested to meet the specific requirements of Microsoft’s “Compatible with Windows® 7” logo program. (See related article below.) We recommend that all Synergy/DE 9.3 customers update to it.

See a list of the changes in 9.3.1a. Customers with ALM and Developer Support can visit the Synergy/DE Resource Center to download the patch. If you do not have ALM or Developer Support, please contact your account manager.




Synergy/DE is Now “Compatible with Windows 7”
“But didn’t Synergy/DE already support Windows 7?” you ask…

Compatible with Windows 7

Synergy/DE has supported Windows 7 for a while—since version 9.1.5b—but the new Synergy/DE 9.3.1a patch is the first version that has been tested to meet the specific requirements of Microsoft’s “Compatible with Windows® 7” logo program. (Both the Synergy/DE and xfNetLink .NET installations have been tested to meet these requirements.) The logo program enables companies to test their products against specific, standard requirements to ensure that the products are compatible and reliable when running on Windows 7. After passing the tests, companies can obtain increased visibility through marketing support that comes with the logo program.

By ensuring that Synergy/DE meets the logo program requirements, we’re able to provide you with a better level of support for Windows 7. According to Microsoft, being a “Compatible with Windows 7” product means that a product:
  • Has been tested for compatibility and reliability on Windows 7.
  • Passed Microsoft designed tests to minimize the possibility of crashes, hangs, and reboots.
  • Represents a commitment that the product will continue to work over the life of Windows 7.
  • Meets privacy standards set forth by the Anti-Spyware Coalition.
  • Installs cleanly and reliably.
  • Eliminates unnecessary reboots.
  • Ensures compatibility with both 32-bit and 64-bit editions of Windows 7.
If you are considering obtaining the Compatible with Windows 7 logo for your product(s), note that it does not cost any money, and we found the process to be straightforward. According to Microsoft, your steps are as follows:
  1. Download and install the Windows 7 Client Software Logo Toolkit.
  2. Run the Toolkit to validate your application.
  3. Ensure the application adheres to all policies (these include “Clean, reversible installation”, “Digitally sign files and drivers”, “Support x64 versions of Windows”, and others)
  4. Accept and sign all legal agreements.
  5. Opt in to receive communications from Microsoft about your product(s).
  6. Upon successful completion of validation testing submit the results to Microsoft.
  7. Optional: mail a licensed copy of your application to Microsoft.
  8. For more information about obtaining the Compatibile with Windows 7 logo, see Microsoft’s Web site. And be sure to update to Synergy/DE 9.3.1a to obtain the latest fixes and to have a version that is Compatible with Windows 7.



Spotlight on Synergy/DE 9.3: Developing xfServerPlus Applications Just Got Easier
by Galen Carpenter, Senior Programmer, Synergy/DE

If you’ve developed an xfServerPlus–xfNetLink application, you’re no doubt familiar with the Method Definition Utility (MDU) and its companion, the Synergy Method Catalog (SMC). Once your Synergy routines are written, you have to use the MDU to put the routine and parameter information into the SMC. And then, when a routine’s parameters or return type change, you have to remember to launch the MDU and modify the SMC files accordingly. Using the MDU can be tedious, time consuming, and potentially error prone, and it’s all too easy for your SMC to get out of sync with your code.

To make it easier for you to keep your SMC up-to-date, Synergy/DE 9.3 includes two new features: attributes and the dbl2xml utility. Attributes allow you to “decorate” your source code with additional information about the routines you want to use with xfServerPlus. xfServerPlus uses two attributes: xfMethod and xfParameter. Each of these has a number of properties, which are used to supply metadata about the routine. The xfMethod attribute is placed in front of any routine that you want included in the SMC. At a minimum, it must specify the interface name and the ELB name and location in its properties. The xfParameter attribute is placed in front of the parameter it describes. Depending on the type of parameter, it may be optional. Much of the information needed in the SMC can be taken directly from the existing code, with default values assumed in many cases, but sometimes additional information must be specified in the attribute lists.

> continue




Synergy/DE Tech Tip
XSUBR call causes untrappable segmentation violation error

Question
My application has a call to XSUBR that causes an untrappable segmentation violation error. The XSUBR call passes the routine address (rather than the name). What could be causing this?

Answer
This could indicate that the address is invalid. (Passing -1 as the address to XSUBR, for example, will cause a segmentation violation error on most systems.) An address can become invalid if the variable that stores the address changes after %XADDR returns it. Note that the runtime has no way of validating addresses passed to XSUBR, so make sure that either a valid address (returned from %XADDR) or the name of a known accessible routine is passed to XSUBR.




Quiz

What is the output of the following program?

namespace spaghetti

    public class noodle
      public property hasTomato, @sauce
      method get
      proc
        mreturn new sauce("marinara")
      end
      endproperty

      public static method op_Explicit, @sauce
      in req pasta, @noodle
      proc
        mreturn new sauce("alfredo")
      end
    endclass

    public class sauce
      public method sauce
      in req flavor, a
      proc
        m_flavor = flavor
      end

      public property hasTomato, string
      method get
      proc
          if (m_flavor == "marinara")
            mreturn "yes!"
          mreturn "sorry, no"
      end
      endproperty

      public static method op_Explicit, a
      in req covering, @sauce
      proc
        mreturn covering.hasTomato
      end

      private m_flavor, string
    endclass

endnamespace

main
record
    vermicelli,          @noodle

proc
    open(1,o,"TT:")
    vermicelli = new noodle()
    writes(1, (a)(sauce)vermicelli.hasTomato)
end

a. “yes!”
b. “sorry, no”
c. An invalid cast error at compile time
d. An invalid cast error at run time

Click here for the answer and explanation.




Platform News

Google Fixes Buzz Bug
Mozilla Patches Critical Firefox Bugs

Windows
Microsoft says Rootkit Caused Windows Blue Screens
Michael Horowitz: The Status of KB977165 and MS10-015
Windows 7 Tweaks: 3 Registry Edits to Speed Performance

OpenVMS
HP Begins Shipment of Its Most Powerful AlphaServer — the 64-Processor GS1280 System
HP Unveils Enhanced OpenVMS Operating System that Is e-Business and Internet-Ready