|
More Capabilities for xfNetLink .NET Developers Coming in Synergy/DE 9.1.3 |
If you are developing .NET interfaces for your Synergy applications, check out these new xfNetLink .NET features coming in Synergy/DE 9.1.3. Answering our customer (and consultant) requests, version 9.1.3 will give you new capabilities and added flexibility. You will have access to some of the new data types introduced in Synergy/DE 9.1.1, access to .NET features like DataTables, and more control over how data is converted from Synergy/DE to .NET. Here are some details about the 9.1.3 xfNetLink .NET features.
- Support for Synergy System.String data type. You can now use System.String as a parameter or return value when communicating with .NET clients. (Currently alpha variables are converted to String and vice versa. System.String was added to Synergy Language in version 9.1.1.)
- Support for Synergy System.Collections.ArrayList parameter. You can now pass an ArrayList parameter from a Synergy routine to a .NET application and vice versa. Previously, if you wanted an ArrayList on the client side, you would have to pass a collection parameter (an array of structures) from Synergy Language, where it is a memory handle, to .NET, where it is converted to an ArrayList. Support for ArrayList parameters not only enables you to pass data either to or from Synergy Language, but the ArrayList is not limited to structures; it can be composed of alpha, decimal, implied decimal, integer, or System.String values. (It may contain only one of these data types, not a mixture.) (The System.Collections.ArrayList class was added to Synergy Language in version 9.1.1.)
- Support for DataTables. You can now define a structure parameter that is an ArrayList or structure collection as a DataTable in the Method Definition Utility, and it will be created as a DataTable in the generated assembly. The generated DataTable extends the Framework class System.Data.DataTable, which gives you access to all the methods available in that class. Your DataTable will also include methods that enable you to manipulate the structure classes in the DataTable. Access to DataTables is useful when working with databases. You can also use DataTables to display tabular data in Web applications.
- Ability to “coerce” data types for return values, parameters, and fields in structure classes. Synergy data types are currently mapped to C# data types in the generated assembly. For example, decimal types are mapped to either int or long, depending on the length. You now have control over this mapping—you can change the mapping for decimal, implied decimal, and integer data types to non-default data types such as Boolean and DateTime. (For return values and parameters, you will select the coerced types when you define data in the MDU. For fields in structure classes, you will specify the coerced types in Repository.)
- Equals() and Clone() methods, plus Changed property, now in the generated structure classes. The structure classes in the generated assembly now include the following:
- The Equals() method tests whether data in two structure classes is the same, making it easier for you to make this comparison.
- The Clone() method returns an exact copy of the structure class on which it is called. This can be useful when you change some fields in a structure and then want to compare it to the original.
- The Changed property lets you determine if any fields in a structure have been changed using the “set” method for a property value. This is especially useful when using DataTables--once you determine which records have been changed, you can then send only those records to your Synergy application. (The Changed property is available only when structure members are generated as properties.)
- Ability to generate a structure class that has read-only properties. You can now use a structure class that contains read-only properties within a .NET application. When structure members are generated as properties, fields that are flagged as read-only in Repository will now be generated as read-only properties in the C# class. (They will have a “get” method but no “set” method.) Having read-only properties can be useful for key fields that you do not want to be changed on the xfNetLink side.
- Ability to include C# compiler options. It’s now easy to specify C# compiler options when building your assembly. You can set a new environment variable, SYNCSCOPT, to any valid C# compiler options that you want added to the command line when the assembly is built (either from Workbench or from the command line).
- AssemblyInfo.cs file is not overwritten. We no longer overwrite the AssemblyInfo file when classes are regenerated. This means that any edits you have made to the file, such as for assembly version number, will be retained.
- Ability to run the Verify Catalog utility from the MDU command line. You can now run the Verify Catalog utility from the command line with the new –v option. This utility updates the structures in your SMC definitions with the current structure sizes from the repository. In addition, genxml will now issue a warning if the SMC and repository structure sizes are out of sync. (In Workbench, this warning displays when you generate classes.) These features will make it easier for you to keep your SMC and repository in sync and thus avoid any errors that may be caused if they are out of sync.
- Date/Time stamp is now recorded in the log for each packet sent/received. If protocol logging is enabled, the log now includes a date/time stamp for each packet sent and received. This gives you additional troubleshooting information.
This article describes the 9.1.3 features that will give xfNetLink .NET developers more capabilities and flexibility. Version 9.1.3 also includes other features that will be described in more detail in the next Synergy-e-News publication. These other features include:
- Ability to call .NET assemblies or .NET Winform/Winfx forms from Synergy/DE.
- GO/DEBUG debugger command that instructs the debugger to go to the next statement or routine that is compiled with debug. This will be especially useful to UI Toolkit developers who will be able to skip code in TKLIB.ELB but still break in UI Toolkit methods.
- B_INFO UI Toolkit routine, which will return useful information about buttons on Windows.
- Support for Windows Server 2008, SQL Server 2008, Visual Studio 2008, as well as SlickEdit 12.
(Note that xfNetLink .NET version 9.1.3 requires version 2.0 (or a higher version) of the .NET Framework.)
^ top |
|
Thinking About Migrating to a New Platform?
If so, this is the year to do it. Learn about our Special 2008 System Code Migration Offer. |
For a number of reasons, Synergy/DE customers have been migrating to new platforms. Some are moving from 32-bit Unix systems to 64-bit systems, others from Unix to Linux, and still others from OpenVMS Alpha to Integrity. The reasons for the migrations vary. Customers want to take advantage of performance gains, move to more stable vendors, be more cost-effective, meet user requests, etc.
Because there is a lot of interest right now in these migrations, Synergex is offering a special discount—for 2008 only. With the Special 2008 System Code Migration Offer, the license transfer fees for these migrations will be 50% of the current license fees, instead of the standard 75%.
Thinking about migrating? This is the year to do it. Just contact your account manager to learn more. (Note that this offer is only for licenses currently on ALM.)
^ top |
|
Support Tech Tip
Why am I getting a Synergy runtime error 25, "Output file is full," when there is plenty of disk space? |
For ISAM files, an “Output file is full” error ($ERR_FILFUL) is typically caused when a file has reached its maximum capacity of 2 GB and no additional records can be stored to the file. This problem is usually resolved by converting the file to a terabyte file using isutl, but there are other causes.
When the file is not near the 2 GB limit, this error means something different. If the file contains alternate keys that allow duplicates, it’s possible the duplicate counter for an index has reached its maximum. This can occur in a file where records are stored chronologically at the end and removed from the beginning, especially when one of the keys is seldom used and is always blank or 0. To determine if this is the case, run isutl -vi on the file and review duplicate usage. The report on a file in this condition would look similar to the following:
=================Information Advisor for xyz.ism =================
1. Duplicates exceed 80% full on one or more key (HIGH RISK).
Duplicates that exceed 100% will be denied with FILFUL error.
Use isutl -ro <file> to correct.
==========================================================
To resolve the error, you can reorganize the file using isutl -ro. (Note: We recommend that you run isutl -ro on a periodic basis anyway to enhance performance.)
If this frequently occurs, you could consider doing one of the following:
- Change the key data so there are fewer duplicates. (A blank or 0 key is a typical cause.)
or
- Convert the file to a terabyte form. (This increases the size of the duplicate counter from 16,777,215 to 4,294,967,295.)
$ERR_FILFUL can also occur when the index depth exceeds 16. This is extremely rare, but it might occur with a very large key (>127 bytes) and a small PAGE size (1024 or less).
Running isutl –vi will report on this condition as well and advise appropriate action, which in this case is to increase the PAGE size using
isutl -r -qfile=PAGE=<##>, where <##> is a page size larger than the current page size.
^ top |
|
Synergy-e-Quiz |
Submit your answers and be in the running for the next $100 gift check. Play now.
Curious about the answers to the last round of questions? Click here to learn which answers were correct, and why.
^ top |
|
Platform News
Microsoft
Vista SP1 Due Out in Next Few Weeks
January 23, 2008
Microsoft: We're Open (Source) For Business
January 24, 2008
Microsoft: Windows 7 Still in Planning Stage and Will Take Approximately 3 Years to Develop
January 26, 2008
Linux
Linux Kernel Hits 2.6.24
January 25, 2008
HP-UX
HP-UX Version 12? Don't Hold Your Breath
January 25, 2008
^ top |
|
Synergex Events and Education
|
Workbench Highlights*
February 28, 2008
8 AM - At your desk
*Each participant receives a free t-shirt
SPC Boston, MA
May 20-22, 2008
Stay tuned to Synergy-e-News for more information
SPC Birmingham, UK
June 10-12, 2008
Stay tuned to Synergy-e-News for more information
Synergy/DE 9.1 Highlights
Anytime online
UI Toolkit Composite Windows
Anytime online
Synergy Objects Parts 1, 2 and 3
Anytime online
^ top |
|
Synergex Holiday Reminder
|
Synergex will be closed on Monday, February 18 in observation of President's Day. If you anticipate needing our assistance on this day please let us know.
^ top |
|
To view past issues of Synergy-e-News, see the Synergy-e-News
Archive.
To remove yourself from the Synergy-e-News mailing list, please
click here.
Trademarks:
Synergex, Synergy, Synergy Development Environment, Synergy/DE,
and all other Synergy/DE product names are trademarks of Synergex.
All other product and company names in this newsletter are
trademarks of their respective holders.
Synergex
International · 2330 Gold Meadow Way · Gold
River, CA 95670
+1 916.635.7300 | 800.366.3472 (North America) | 0800.898.368
(United Kingdom)
Copyright © 2008 Synergex International Corporation.
All rights reserved.
Synergy-e-News
02072008 |
|