Features that are not supported for Synergy .NET development
The Synergy Language, .NET, and Visual Studio features listed in this topic are not supported for Synergy .NET development. In this topic,
- routines that are part of an unsupported API or product are not listed individually.
- “.NET terminal applications” refers to applications built with a cross-platform target framework (e.g., “.NET 6.0”), rather than a Windows-specific .NET target (e.g., “.NET 6.0 Windows”). See Application page of Visual Studio project properties (Synergy .NET) for information on the “Target framework” setting.
Data types
The p (packed) data type is not supported for .NET development.
Directives
The following preprocessor directives are ignored:
.LIST .NODEBUG .NOLIST .NOPROTO-.PROTO |
.PAGE .START .TITLE |
Records and structures
Records or structures larger than 1 MB are not supported.
Statements and statement modifiers
The following statements are ignored:
ALLOC BKTSIZ BLKSIZ BUFNUM BUFSIZ CONTIG |
DEQ DETACH RECTYPE RECV SEND |
The $SCR functions for the DISPLAY statement are ignored.
The PROTECTED and PRIVATE qualifiers for the ENUM statement are not supported.
The MASK qualifier on the GETS statement is ignored.
The TRUNCATE modifier is ignored for the FUNCTION, MAIN, METHOD, and SUBROUTINE statements.
Subroutines and functions
Synergy .NET does not support the following routines (along with all routines for APIs listed in APIs). Unsupported routines generally cause compiler errors.
ACCHR ACESC ASTRST ASTSAV BREAK BTOD CREMBX CVTIIV CVTIZV DAESC DBL$ subroutines DELMBX DFLAG DTOB EMPBUF ENDFL EXEC %ERR_TRACEBACK FATAL FORK FSTAT %FSTAT FXSUBR GETCM GTPPN %HTTP_METHOD |
%HTTP_SERVER routines %INIT_SSQL JBNAM KILL %LINE LOCALIZE %PACKED PAINT %PAINT ^PASSTHRU PURGE PUTCM RCFLG RCVID RUNJB %RX_DEBUG_INIT %RX_DEBUG_START %RX_RMT_ENDIAN %RX_RMT_INTSIZE %RX_RMT_OS %RX_SETRMTFNC SDMS_SEL SERIAL SET_XFPL_TIMEOUT SETCTL SORT |
SPAWN %SS_FATALSTTY %SUCCESS %SYN_ATEXIT %SYN_CHARTOSTR %SYN_GETDIR %SYN_GETSTATE %SYN_SETSTATE %TNMBR (deprecated) TFLSH (doesn’t cause error) TT_NAME_TO_NUMBER TT_NUMBER_TO_NAME TTBRDCST TTCHAR TTFLGS TTMBX %TTNAME %TTSTS VMCMD VMMSG %VMS %WAIT XARGS XFPL_LOG XFPL_REGCLEANUP ^XTRNL |
APIs
The following Synergy APIs are not supported for .NET:
Synergy ActiveX API
Synergy DLL API
Synergy floating point API
Synergy routine call block API (partially replaced with ^VARARGARRAY())
Synergy .NET assembly API
Synergy DBL C interface
The DLL_TYPE_DBLCALL convention for %DLL_CALL is not supported and results in a runtime error.
The second argument to %DLL_OPEN is not supported and is ignored.
Synergy/DE products
The Synergy/DE ReportWriter external subroutine interface is not supported for Synergy .NET.
A limited version of UI Toolkit is available for .NET development via Synergex.SynergyDE.tklib.dll (for .NET Framework development) and the Synergex.SynergyDE.tklib.dll NuGet package (for SDK-style projects), but it has had limited testing and is unsupported. See Using UI Toolkit with .NET for more information, and note that with .NET, the method specified for a tab set must use only simple descriptor parameters; object parameters are not supported. Non-CLS structures can be passed if they are treated as alpha parameters.
xfNetLink .NET Edition and xfNetLink Java Edition are not supported. Some xfNetLink Synergy API (RX* routines) are supported.
Utilities
The following general utilities are not supported for Synergy .NET:
Synergy UI Toolkit Control Panel (synctl)
Synergy DBL Profiler
servstat
Monitor utility for Unix
ActiveX diagnostic utility (axutl)
Synergy Prototype utility (dblproto)
Variable Usage utility
gennet/gennet40 utility
dbl2xml utility
Environment variables
Environment variables that are not supported for traditional Synergy on Windows are not supported for Synergy .NET. Additionally, the following environment variables, which are supported for traditional Synergy Windows, are ignored for .NET development and deployment on Windows.
ACTIVEX_LIST ALT_ variables APP_HEIGHT APP_SCALE APP_WIDTH AXDEBUG CMPBSIZ COMBUF DBG_BUFFER DBG_HEIGHT DBG_INIT DBG_WIDTH DBG_X DBG_Y DBGSRC DBL$FATAL_IMAGE DTK_BEEP DTK_MENU_UP DTK_THROW_ABORT DTKDBG DTKFSWINSIZ DTKKEYCTLFIL DTKMAP DTKMAPFIL DTKRND DTKRNDFIL DTKTERM DTKTMP |
EDIT_SYSMENU FONT FONT_ALPHAFLD FONT_ALTERNATE FONT_DEBUG FONT_FOOTER FONT_GLOBAL FONT_HEADER FONT_INFO FONT_LIST FONT_NUMFLD FONT_PROMPT FONT_TEXT FONT_WIDTH KEEP_BORDER LIBBSIZ LIBNBUF LNKBSIZ LNKNBUF MAXMEM MAXMEMMAX MAXRECURSELEVEL MEMDBG OPTIMIZE_REDRAW PRINT_PREVIEW_BOTTOM PRINT_PREVIEW_LEFT PRINT_PREVIEW_SCROLL PRINT_PREVIEW_TOP |
PRINT_PREVIEW_ZOOM PROFILE_PROCESSOR_TIME RETAIN_CONTEXT_CHANGE_ON_ SDMS_AUDIT SIG_CORE SYN_3D_TOOLBAR SYN_TRANSPARENCY_THRESHOLD SYN_TRANSPARENT_COLOR SYNBIN SYNBITSIZE SYNCENTURY SYNCMPOPT SYNCSCOPT SYNDEFNS SYNEXPDIR SYNIMPDIR SYNNET_DEBUG TABSET_STYLE TERM WBNOINC WBTAGCOUNT WBTAGDELAY WND XFNLS_LOGFILE XSHOW |
Note that DTKTERM and TERM do work for .NET terminal applications (Windows and Linux). Other DTK* environment variables may also work for .NET terminal applications.
System options
System options that are not supported for traditional Synergy on Windows are not supported for Synergy .NET. Additionally, the following system options, which are supported on traditional Synergy on Windows, are ignored for Synergy .NET:
#1 |
Default SEND queue |
#2 |
Default file specification on STOP |
#5 |
CRT mode |
#10 |
Interrupt character(s) |
#11 |
Rounding vs. truncation |
#13 |
Default SEND queue |
#17 |
Terminal number returned by %TNMBR |
#21 |
Interrupt trapping |
#22 |
LPQUE statement |
#29 |
Dimensioned variable |
#35 |
VAX DIBOL–compatible functionality |
#37 |
VAX DIBOL–compatible store |
#38 |
VAX DIBOL–compatible OPEN with O:P |
#39 |
VAX DIBOL–compatible OPEN with TT: and echoing characters |
#40 |
XCALL profiling |
#41 |
Cumulative XCALL profiling |
#42 |
Profiling regardless of compiler options |
#43 |
Stop message |
#52 |
Line profiler |
#53 |
Record defaults to LOCAL record |
#54 |
Relax rules for compiling with -qcheck |
Additionally, system option 30 (Default terminal definition), which is not supported for traditional Synergy on Windows, is supported for .NET terminal applications on Windows and Linux.
.NET features
The following .NET features are not supported by Synergy .NET:
- LINQ syntax
- Dynamic language extensions
- Fixed, Unsafe, Using, Checked, and Unchecked statements/modifiers
- Using (alias declaration)
These unsupported language features will generate errors if contained in C# example code run through the Code Converter.
Unsupported Visual Studio features
The following Visual Studio features are not supported for Synergy .NET development:
- Web form projects
- Edit and Continue
- The Autos window, which displays variables for the current statement (Debug > Windows > Autos)
- Visual Studio Team System features that require additional plug-in support from Synergy
- Refactoring