Citect for Windows

Release Notification


Version 5.30 Rev. 0


General Description For This Release

This is a detailed listing of the resolved problems and minor enhancements in this release. (See the What's New in the online help system for details of new features for this version.)

Fixed Problems and Enhancements

* NCR 837 - "Too many Cicode Functions" error.

The maximum number of Cicode functions allowed in a project has been increased from 2700 to 4500.

* NCR 5598 - Update Pages.

Update pages does not delete information from fields in a Super Genie when the field has been cleared. Update Pages now removes all data in the field when its parent (Genie/Super Genie) is empty or blank.

* NCR 6243 - New Alarm Comment field.

A new alarm comment field called {Almcomment, n} has been created to allow the comment to be displayed on the alarm page.

* NCR 6288 - Remapping database form.

A comment field has been added to the Remapping database form.

* NCR 7378 - Comli Driver.

The Citect Comli driver does not support certain devices with fewer than 256 I/O RAM bits, such as the Fisher-Rosemount DPR810, DPR900 and DPR910. This has been corrected.

* NCR 7963 - DspInfo(hInfo, 3, nOffsetTag).

DspInfo(hInfo, 3, nOffsetTag) returns the tag name without the array index of the variable.

* NCR 8994 - PageInfo()

PageInfo (12) and PageInfo (13) return only the width and the height of the current window. New types have been added for the width and height of the background page. The types are 21 for the width and 22 for the height of the background page.

* NCR 9610 - Printer palette file does not work.

When using the WinPrint() Cicode function and explicitly specifying a palette file the printed image is incorrect.

* NCR 10123 - GETCP driver.

GETCP driver does not handle strings longer than 8 characters.

* NCR 10137 - Parameters for MODBUS[Pad].

The default value is 0, instead of 20.

* NCR 10184 - Explorer Display Mode

Citect Explorer now maintains the selected display mode (large icons, small icons, list) across sessions.

* NCR 10474 - Cicode Editor Help Error Dialog.

Pressing F1 in Cicode Editor when no file is open will cause an error dialog to be displayed.

* NCR 10674 / NCR 14024 - Trend system refreshing.

Citect’s trend system can stop refreshing the display for several minutes if the span is changed from a long period (say 24 hours) to a short period (say 1 minute).

* NCR 10739 - Cicode Editor re-compile problems.

The Cicode Editor doesn't re-compile after a compile has been cancelled.

* NCR 10785 - GETCP driver

The GETCP driver does not recover after an IODeviceControl() call is used to put the driver offline then back online.

* NCR 10832 - GETCP driver locks up.

The GETCP driver will lock itself up after receiving an incomplete response.

* NCR 10905 - PSC Driver.

If the PSC driver does not have a TCP/IP Port Number specified, the driver won't initiate properly

* NCR 10925 - [CODE]Shutdown and Shutdown Events.

A new Event (event 32, see the OnEvent() Cicode function) has been added which triggers on shutdown. There is also a parameter added [CODE]Shutdown which can run Cicode at shutdown.

* NCR 11497 - Restore Project enhancement.

The Restore Project dialog will by default now prompt for a new project name to restore into, rather than attempting to restore to the current project.

* NCR 11683 - Clear and Backspace buttons in FormNumPad() mode 32 don't work

When a value is entered into the combobox in FormNumPad() mode 32, and the 'Clr' (Clear) button is pressed, the combobox text field does not clear. Also the '<-' (backspace) button will not clear the last character.

* NCR 11743 - Copying a project gives "Cannot Copy Onto Itself" error.

Copying a Project into a new Project name, but in the same directory just creates a link to the original Project even though an error occurs that displays "Cannot Copy Onto Itself".

* NCR 11784 - Enhancement to broken library link dialog.

"YesToAll" and "NoToAll" buttons have been added to the broken library link dialog in the Graphics Builder.

* NCR 11836 - Input() And Message() functions do not send errors correctly.

The Input() and Message() functions with mode 1 do not send error code 299 to IsError() if the Cancel button is pressed.

* NCR 11853 - Add Variable Length String support to PSC driver.

Added parameter [PSC]VariableStringLength=1 to support a variable length string as a single Citect String Datatype. Default value of 0 will continue to support a string (max 80 chars incl null terminator) as a Citect Byte Array Datatype.

* NCR 11973 - Backup/Restore Encryption dialog.

When restoring a encrypted project, the Backup/Restore Encryption dialog prompts for a password twice, instead of only once.

* NCR 12079 - PROFIBUS communications problems.

Communications with the PROFIBUS card will repeatedly drop out after exactly 120 seconds.

* NCR 12183 - Shutdown() mode 4 does not reboot Windows NT.

When Citect is running under Windows NT, Shutdown() mode 4 fails to reboot the computer.

When operating under Windows NT, Shutdown modes 3 and 4 behave identically.

Citect must be in your Startup folder if it is to start automatically after a reboot.

In Windows NT the user must have SE_SHUTDOWN_NAME privilege in order to shutdown the PC.

* NCR 12200 - Area checkbox does not work.

The Area checkboxes in the Graphics Builder property pages do not behave correctly and do not set the Area of the keyboard commands/objects appropriately.

* NCR 12301 - Internet Display Client crashes.

The Internet Display Client crashes when the cancel button of the file transfer dialog is pressed.

* NCR 12321 - DspFileSetName() did not work in Internet Display Client.

Problems with DspFileSetName() were caused by behaviour of the Refresh ini parameter and by the current path being searched when no path is specified. The problems have been solved by:

1) The parameter



is no longer available. Removing files from the project directory will serve the same purpose.

2) The Internet Display Client will no longer look for files in the current directory. Setting



Will restore the previous behaviour.

* NCR 12455 - Paths in parameters database.

If a path in the parameters database has the same name as one of Citect's standard paths: RUN, BIN, DATA, USER, BACK, COPY or FTP, it isn't used in path substitutions as it should be.

* NCR 12475 - File extension "v52" for symbol and genie library files.

If CtDraw32 crashes during a pack libraries it leaves the name of the libraries with an extension "V52" regardless of whether it was a Symbol or Genie being packed at the time of the crash. Attempting to repack the libraries again can not differentiate between a symbol and genie library files. This has been changed to "l52" for libraries and "g52" for genies.

Note: "v52" will be "v51" in Citect version 5.1

* NCR 12533 - AssInfo() function.

The AssInfo() function does not return the array index with the tag name.

* NCR 12541 - Variable Tag Scale fields.

Variable tags of type LONG INT may require 11 characters to be entered. This includes the 'minus' sign for a 10 digit negative value. Thus 11 characters is required in the scale field.

* NCR 12550 - DspAnFree() causes crash.

Citect will crash when DspAnFree(An) is called on a Cicode object that has something continuously displayed on it using DspText(An, Font, Text). DspText() now checks if the Animation point has been freed.

* NCR 12603 - ADAM-5024 Analog Output.

The module ADAM-5024 Analog Output, on startup in the kernel says that it is online. When you try to communicate (read and write), #COM is displayed on the tags

* NCR 12616 - TWINCAT driver.

There is an error reading negative values into a Citect INT type.


* NCR 12630 - TWINCAT driver.

The TWINCAT driver cannot communicate with Citect if it is configured according to the

"Citect for Windows Driver Specification TWINCAT Driver" documentation.

* NCR 12631 - RTF report files will not roll over.

If you have a report device which outputs data in RTF file format, and configure history files, then they will not roll over correctly. Citect will simply keep writing to the same RTF file the whole time and will not create any history files when they are due.

* NCR 12632 - YokGrn driver.

The D201 register is accepting invalid values.

* NCR 12634 - YokGrn Driver.

There is an intermittent error writing to registers in the YokGrn driver giving the error message "PLC server response bad or garbled"

* NCR 12648 - Twincat driver problem with debug command.

When using a debug port write, the display will show all read instead of write to the port.


* NCR 12652 - Backup Path Failure may cause Citect to shut down.

If a RUN and BACKUP path are both set, but the BACKUP path fails, and then an attempt is made to display a non-existent page (using PageDisplay() ), Citect displays the message "Cannot display page" and then shuts down.

* NCR 12657 - Twincat driver and disk PLC.

Twincat driver and disk PLC fails when trying to access data type INT if the address is more than 32756 and LONG if the address is more than 16376.

* NCR 12684 - ADAM-4016 digital outputs.

ADAM-4016 digital outputs do not work correctly.

* NCR 12745 - FileRichTextPrint() error return.

FileRichTextPrint() now checks if the file can be printed and will return error 367 'File cannot be printed' or error 261 'File does not exist' if unsuccessful.

* NCR 12784 - Text object displays Japanese character incorrectly

When a project created or modified under a Japanese Operating System, it will have a problem displaying Japanese characters within a text object.

* NCR 12825 - AUTOMAX driver does not support 3 or more boards.

The AUTOMAX driver does not work if 3 or more boards are used.

* NCR 12852 - SSTAB driver

When using the SSTAB low level driver, multiple S-S Technologies 5136-SD cards do not work correctly .If two or more S-S Technologies 5136-SD cards are used in the same PC with the Citect SSTAB driver, only one of the cards works.

* NCR 12862 - Citect localisation

The software has been improved to handle the localised resource files (citect.frm, ctres32.dll) for the local language correctly.

* NCR 12903 - PROSEC driver

"Request Size Too Big" error may occur when using digitals with the PROSEC driver. When using the PROSEC driver and displaying a page which generates requests for a block of more than 32 digitals, the "Request Size Too Big" error occurs.

* NCR 12939 - TwinCat driver.

Citect crashes when accessing variables with addesses above 64000.

* NCR 12940 - Citect does not regain the focus.

Citect does not regain the focus after selecting a child window belonging to an ActiveX control (eg. the combo box in the Calendar control). For Citect to get the focus correctly you have to switch to another application and then back to Citect again.

* NCR 12941 - The MODBUS and MBSLAVE drivers should have separate DBF files.



* NCR 12942 - STRING substitution error on genie.

Associating a STRING variable to an untyped super genie substitution, eg. ?1? causes an error dialog to pop up. The dialog cannot be dismissed. Changing pages while the dialog is up causes a crash in Citect runtime.

The Error dialog popped up as follows:

File (E:\v521\source\display\CT_EXEC.C) Line (2243)

Error Invalid Load Variable Type.

* NCR 12946 - Internet Display Client.

Setting both [Internet]Server=1 and [Internet]Client=1 causes Citect to crash.

* NCR 12983 - Internet Display Client Performance enhancement.

When the Internet Display Client starts it will now download a single file instead of individual files of type "_*.rdb". This makes it faster to download files at startup.

* NCR 12988 - Copy/paste problem in Project Editor.

Variable tag records cannot be copied and pasted. This does not affect other forms.

* NCR 13006 - Internet Display Client Ftp Server access directory problem.

When a project is configured (in the Internet Display Client Server) and is located somewhere other than its default location, Internet Display Client can not access the include directory of this project directory since the root directory is outside this directory.To solve this problem when an internet server is started it will create a file called "Ftp.ini" file in the windows directory.It contains the names of include directories which the IDC Client may access.

* NCR 13039 - EXPBRD.DBF

The EXPBRD.DBF file contains an invalid entry. This file should be blank for the MODNET driver.

* NCR 13046 - RTF report files don't display correctly after being removed.

When RTF report files are created and written to many times, the RTF file is readable and all writes to the file are visible. However, when the RTF file is deleted or removed, or even if a DevZap() function is performed on the report device, then subsequent writes to the RTF file are not be readable in RTF format.

* NCR 13073 - Incorrect text on the windows menu.

The text for closing window on the menu for child windows should be "Close" and not "Shutdown".

* NCR 13114 - SELECT CASE compile error.

Compiling a function using the SELECT CASE statements may not work correctly.

* NCR 13144 - PROSEC Driver .

PROSEC Driver v2.10b2 sometimes will not recover from a break in communications.

* NCR 13147 - [Alarm] SaveStyle allowable values.

Allowable Values for the [Alarm]SaveStyle parameters are now 3 and 4. Setting the parameter to 3 saves alarm data with record number identifier, and 4 saves alarm data with alarm tag identifier.

* NCR 13152 - Incorrect bitmap object size at runtime.

Citect may display bitmap objects at an incorrect size at runtime.

* NCR 13162 - Wrong IODevice Hardware alarm.

When you have more than 512 IODevices in a Citect database then a hardware alarm for an IODevice may be reported as being for another IODevice. Also ErrSetHw()/ErrGetHw() will not work correctly when there are more than 511 IODevices in the database. To correct this the mask for IODevices passed into this function (ie. the number added to the IODevice number) has been changed from 512 to 8192. The old mask of 512 can still be used by setting [Code]BackwardCompatibleErrHw=1 in your configuration file. However with backward compatible mode you will only be able to have ErrSetHw()/ErrGetHw() work correctly with 511 IODevices or less in your database.

* NCR 13167 - PROSEC driver v2.10b2

When displaying a page containing the Digital data type "L" - Link Relay Device, the error message "Request Size Too Big" appears.

* NCR 13174 - Upgrading project problem.

Upgraded proejcts that contain genies that use a substitution called %Page% or %An% will have problems. When pasted on a page %Page% is automatically set to the name of the page, and %An% is set to the An number of the object or genie. To overcome this during the upgrade, set [CTEDIT] UpdateAnPage = 1 and set [CTEDIT] SubtPageValue and [CTEDIT] SubtAnValue to whatever name you would like to change it to. The default values for SubtPageValue and SubtAnValue are PageSubt and AnSubt respectively.

* NCR 13186 - Write to devices fails.

Citect is unable to write to a database file for which a previous write attempt was made while the file was locked by another application.

* NCR 13196 - Staefa Tag suppprt.

Staefa (ODC) Tags are now support by CTAPI.Note that the Staefa Tags are only supported if the Citect server and client (CTAPI) both get upgraded to v521 SpkA.

* NCR 13219 - Graphic Builder crashes.

When a Citect project is compiled and run from Graphics Builder with no pages open, while the project is already running, then Graphic Builder crashes with error "Out of memory".

* NCR 13231 - DDK function "Debug" output display problem.

There is a problem in the DDK where the driver debug function (*Debug)(ASCIIZ, CHAR*, SHORT) cannot display more than 432 bytes of user data in Citect Kernel Window. It is supposed to support 2048 bytes by design. This has now been fixed so that it can display 2048 bytes of user data and truncates the data with "DATA TOO LONG BEING CUT OFF", if data is more than 2048 bytes.

* NCR 13242 - Copy to Clipboard Button does not export EVENT trend data.

When using the Copy to Clipboard Button on an Event Trend Page in runtime, only the field headings are copied.

* NCR 13246 - Citect will sometimes crash at runtime when displaying a page or activating a Super Genie.

When examining the page or Super Genie that caused the crash in the Graphics Builder, you will see that one of the animation points on the page calls Cicode that writes text to itself or another animation point that is not a pure animation point. The Cicode calls the DspText() Cicode built in function, or calls a Cicode function which in turn calls DspText() such as TrendDspCursorValue(). The crash may result from the use of the DspText function where the animation point parameter refers to an animation point which is not a pure animation point. The fix is has been to prevent Citect crashing in this situation, and to provide a hardware alarm indicating this error condition. The hardware alarm has the following message "Wrong type for text display AnXX" where XX refers to the An number being written to. If this error is found, then the problem should be rectified by ensuring text is configured to be written only to pure animation points. Configure these points using the Citect Graphics Builder 3.4 / 4.2 tools.

* NCR 13263 - Citect Database Drivers Updated.


The Citect Database Drivers have been updated to use MDAC 2.5 and Jet 4.0 service pack 3. This update resolves a memory leak that occurred with earlier versions of these drivers.

* NCR 13266 - "Driver Is Not Responding" error.

Citect will sometimes show the "Driver Is Not Responding" error in the kernel. When examining the settings for the protocol driver having the problem, you will see (Retry + 1) * TimeOut (seconds) > Watchtime. With the settings (Retry + 1) * TimeOut (seconds) > Watchtime, then under a timeout condition, the IO Server may time out the request before the driver can time out the request. This situation results in the "Driver Is Not Responding" error occuring in the kernel. Users using the default values for a driver should normally not be affected by this problem, as the default values for a driver should satisfy the above equation. The change prevents the IO Server from timing out a request for a default period of 5 minutes. This should always allow a driver to timeout a request before the IO Server. The new IO Server timeout parameter introduced by this change is [IOSERVER] CancelTimeout, and is measured in seconds. The default is 300 seconds (5 minutes). This parameter should not normally need to be modified.

* NCR 13282 - Incorrect PROFIBD driver parameters in PROTDIR.DBF

The entry for PROFIBD in PROTDIR.DBF did not point to the profibd.dbf.

* NCR 13285 - PSC driver.

Added Fieldbus I/O support to Fisher & Paykel PSC driver .Also added new data types to support Scanned Fieldbus Input, Scanned Fieldbus output, Scanned Fieldbus Input Port, and Scanned Fieldbus Output Port.

* NCR 13296 - Multiple Internet Display Clients.

It is now possible to run multiple Internet Display Clients on a single computer.

* NCR 13300 - Dial up on a dial back modem.

Dial back may fail if a dial up is being attempted at the same time on the same modem. Citect should give priority to the dial back in this case.

* NCR 13331 - "Out of memory" error when compiling a large number of events.

An "Out of memory" Citect compiler error occurs with a context message of "Allocating Wrt Table". The error happens when compiling a large project for which there were greater than or equal to 32500 event tags, each writing to a different tag address.

* NCR 13334 - Page RDB crash.

Attempting a Page RDB command in the kernel on a project with a large number of groups may cause Citect to crash.

* NCR 13337 - Dial up on a dial back modem.

Dial up may fail on a dial back modem. Citect should allow dial up to proceed on a dial back modem if no dial up modems are available.

* NCR 13385 - Grouped objects do not use the correct disable style.

When graphic objects are combined into a group the group disable style should apply to all objects within the group. Grouped objects are disabled with the embossed style irrespective of the group disable style setting.

* NCR 13394 - Steeplechase format.

Citect now supports importing and linking of Steeplechase tags. The Steeplechase VLC software is required to be installed in order for the importing and linking of Steeplechase tags to function.

* NCR 13405 - Accessing arrays with scaling may fail.

Using a tag as an index to an array with engineering scale will permit values outside the engineering range to be set.

* NCR 13406 - TCPIP Board Driver limited to 100 ports.

The TCPIP Board driver now supports up to 250 ports. Note that individual drivers that use the TCPIP board driver may have their own port limits.

* NCR 13407 - Crash when using PageInfo().

Calling PageInfo() during startup may cause Citect to crash.

* NCR 13422 - Standby remote I/O Device.

A standby remote I/O Device should be dialled and brought online if the primary I/O Device goes offline.

* NCR 13430 - Error in ICN.DBF

This file has been changed in line 5 to support full range of addresses.

* NCR 13431 - Error in COMLI.DBF

According to COMLI standard, entry " A%O%/4 0 1 16 0 0o37777 Analog" has been corrected.

* NCR 13435 - Remote dialup occurs on non - I/O servers.

If you have a setup with an I/O Server and a non - I/O Server running a project that executes dialouts, and the non - I/O server is connected to a modem, then a crash could occur because the non - I/O server dials out using the dialout Cicode in the project.

* NCR 13446 - AlarmSetInfo().

Using AlarmSetInfo() with a type of 2 does not work when the value (alarm category number) is higher than 31.

* NCR 13449 - TrnInfo() function problem with mode 6.

The TrnInfo() function does not correctly return values greater than 32767 when using mode 6. This causes a problem when using this function and mode when there are more than 32767 events, as the number turns negative.

* NCR 13468 - Deleting reserved animation points.

When working in the Graphics Builder, deleting reserved animation points on Super Genies or Page Templates may cause Citect to crash, as they are used for Keyboard Entry and the Prompt Line.

* NCR 13472 - Duplicate dialog Hotkeys in the graphics builder.

The "Guidelines Setup" dialog box in the graphics builder has duplicate hotkeys with 3 controls all having the same 'C' keyboard shortcut.

* NCR 13475 - Numeric format display in Graphics Builder is incorrect.

When a new numeric object is added and a new numeric format selected for it, all existing numeric objects will then display with the chosen format, although all objects would use the correct format at runtime. Existing objects should continue to display with their own numeric format.

* NCR 13488 - Remote I/O Devices.

Automatic cache refreshing can now be enabled or disabled explicitly using the new [Dial]CacheRefresh parameter. Allowable values are 0 to disable cache refreshes, or 1 to enable. The default value is 1.

* NCR 13489 - Remote I/O Devices and IODeviceInfo() type 18.

IODeviceInfo() type 18 erroneously reports a unit as connected if the unit is offline. IODeviceInfo() type 18 has been enhanced to more accurately report the state of the unit.

* NCR 13515 - New Node Keys.

Now the insert key (in addition to the + key) adds a node, and the - key (in addition to the Del key) deletes a node.

* NCR 13524 - MODNET Driver.

The MODNET driver should be modified to allow the setting of parameters on a per driver, per port, or per unit basis.

* NCR 13557 - New PageFileInfo() function.

A new Cicode function PageFileInfo() has been added to return the width and the height of a page without the page having to be displayed at the time. PageFileInfo(sPageName, nMode) returns the page width or height of sPageName depending on the value of nMode. Mode 0 returns the page width, and mode 1 returns the height of the page.

* NCR 13565 - Dialback modems.

Citect stops monitoring a dialback modem for incoming calls if the modem is turned off and turned on again. Citect should restart monitoring when the modem is turned back on.

* NCR 13581 - Genie substitution of %Page% and %An% cause problems.

Genie substitutions of %Page% and %An% will have the name of the current page and/or AN automatically substituted into the field and the property, and are not able to be modified.

* NCR 13585 - Calling DspInfo() may cause Citect to crash.

When calling DspInfo() with type 3, Citect may crash. This happens after 5.21 Service Pack A is installed.

* NCR 13602 - Citect now ages CTAPI and OleDB licenses.

The CTAPI license returned by a server is locked to the Citect’s IP Address for a period of 24 hours.

* NCR 13614 - AssChainPopup() problem.

AssChainPopup() failed to open the same Super Genie with different tag associations.

* NCR 13615 - Undo/Redo crash in Graphics Builder.

Graphics Builder will crash when undo\redo'ing the cutting of multiple objects.

* NCR 13641 - ESC key does not work on sliders.

When the ESC key is configured with a System, Page or an Object keyboard command, the command will not work when the cursor is positioned over a slider.

* NCR 13660 - I/O count problem in Citect runtime.

The number of I/O points counted is incorrect when you have exactly the same number of points as your key. Super genies with one or more static tags are incorrectly counted as dynamic points.

* NCR 13665 - Filled rectangle or circle objects do not appear correctly when moved.

When a rectangle or circle object that has a fill property is moved during runtime, the fill will not be shown correctly until the page is refreshed.

* NCR 13667 - Incorrect project names on Japanese Citect.

When a new project with a Japanese name is created under a Japanese operating system, Citect changes the first character to an invalid character.

* NCR 13668 - Text displays incorrectly on Japanese Citect.

Palette text in the Graphics Builder is too small and text in the New Project box in the Citect Explorer does not show correctly.

* NCR 13669 - Copyright Character on Japanese Citect.

Copyright Character © does not display correctly on Japanese Citect.

* NCR 13678 - New Cicode Function.

Citect now has a new Cicode function, ExecuteDTSPkg() which allows users to run file or SQL server based DTS packages from within Citect.

* NCR 13809 - Polylines and lines leave trails.

Polylines and lines with 3D effects leave trails when moved in Graphics Builder.

* NCR 13837 - FileCopy() incorrectly returns 0 on failure.

When FileCopy() is run to copy a file which doesn't exist, the function returns 0 instead of a Cicode error code as outlined in the help.

* NCR 13880 – Citect Explorer prompts for deleted include projects.

If Project A is configured to include Project B, and you then remove the entry for Project B from the Included Projects and delete Project B, Citect Explorer will still ask for Project B on startup.

* NCR 13905 - OMFINS Driver.

The OMFINS Driver does not support the extended range of addresses in the CS1 range of PLCs

* NCR 13906 - Compiler crash.

A crash in the compiler happens when compiling a project which includes a large number of group entries. There is at least one group which encompasses multiple sub-groups, so that the total number of associations for the group is greater than 256.

* NCR 13909 - WinCopy() and WinFile() problems.

The WinCopy(XScale, YScale, sPalette) and WinFile(sFile, XScle, YScale, sPalette) functions do not support path substitutions for the sPalette parameter. They also return an inappropriate error value when invalid arguments are passed.

* NCR 13926 - CTAPITrend() can not return all samples for queries containing mixed trend types.

The Cicode function CTAPITrend() used by CTAPI can not process the trend query correctly if there are periodic and event trend tags mixed in the tag list. Only those tags which have the same type as the first one will have samples returned. This symptoms are also visible in Plant2SQL.

* NCR 13939 - WinCopy() and WinFile() functions don't function without parameters.

WinCopy() and WinFile() should be able to be called simply with WinCopy() and WinFile(sFile). See Knowledge Base article Q2841.

* NCR 13956 - Remote I/O devices.

A display client will try to connect to remote I/O devices. Only I/O servers on which a remote I/O device is defined should try to connect to the device.

* NCR 13960 - IODeviceStats() function problem.

The IODeviceStats function cannot handle IO Device ID's greater than 1024.

* NCR 13965 - I/O server redundancy with Remote I/O.

I/O server redundancy for remote I/O devices should operate in the same way as I/O server redundancy for non-remote I/O devices.

* NCR 13967 - SuperGenie pages not created during Update Pages.

When relinking a SuperGenie inside an existing Genie, the newly linked SuperGenie's page does not get created when an Update Pages is done. As a results the new SuperGenie may not be able to be displayed during runtime.

* NCR 13970 – Citect window does not regain focus.

After a call to the FormOpenFile(), FormSaveAsFile() or FormSelectPrinter() the Citect window does not regain the focus from the dialog. This prevents page keyboard commands from working until the window is brought back into focus.

* NCR 13981 – MsgRPC() fails after logging in.

MsgRPC() may fail after another Citect user logs into the computer that you are trying to perform the procedure on.

* NCR 13992 - Project Editor - Find Next problem.

When searching through records in the Project Editor using Find, and/or Find Next menu items, the last record of some forms will not be searched. Also if a project has more than one I/O Server configured, and one or more of these I/O Servers don't have any I/O Devices, then some records may not be searched.

* NCR 13994 - Example Project.

In the Display Objects Page of the example project the "Help Button" doesn't respond

* NCR 14004 - Project editor - Replace Next problem.

When searching through records in the Project Editor using the Replace Next button on the Replace form, the last record of some forms will not be searched. Also if a project has more than one I/O Server configured, and one or more of these I/O Servers don't have any I/O Devices, then some records may not be searched.

* NCR 14016 - Goto Object dialog glitches during resizing.

If you resize the Goto Object dialog in Graphics Builder you may notice glitches.

* NCR 14047 - Drop down lists not updated on project restoration.

Drop down lists in the database edit form in the Project Editor may not get updated when a project is restored over an existing one. This will happen if the drop down lists were accessed in the original project. The drop down lists are only updated when Citect Explorer is closed and restarted again, or if another project is selected before selecting the original project again.

* NCR 14060 - PROSEC driver.

The PROSEC driver zeroes out the unit address field when communicating via a serial connection.

* NCR 14095 - CTAPI returns incorrect "DESC" field in alarm query.

CTAPI will return an incorrect value for the "DESC" field in an alarm query. The value returned will be the value of the "SUMSTATE" field rather than a blank.

* NCR 14118 - Bitmap size dialog.

The bitmap sizing dialog has been enhanced allow growing and shrinking from any side of the bitmap.

* NCR 14123 - Symbol set disabled appearance problem.

A Symbol set graphics object may look disabled during runtime when it should not be.

* NCR 14127 - Prompt() and DspText() function crash Citect at startup.

When calling the Prompt() or DspText() function during startup, Citect may crash. This happens after 5.21 Spk B is installed.

* NCR 14133 - Proxi server runs out of kernel queues.

Citect may run out of kernel queues and shutdown under the following conditions: Several IDC clients try to connect to a Proxi server, which already has connections defined to around 30 IOServers. The problem results from Citect running out of network session structures. The maximum number of network session structures has been increased from 255 to 4000. However it will be impossible to use more than 255 sessions unless Citect is configured to use pure TCPIP sockets connections, rather than Netbios based connections. The default number of kernel queues has also been increased from 512 to 1000. This is the [Kernel]Queue parameter in the Citect.ini file.

* NCR 14136 - Internet Display Client [DNS] Problem.

When an Internet Display Client connects to the Internet server, it will ask for the [DNS] and [Client] information from the Internet server's Citect.ini file to populate its own Citect.ini file. A problem occurs when the information inside [DNS] or [Client] section exceeds 256 characters. In this case only the first 256 characters of information are transferred.

* NCR 14139 - Computer Setup Wizard does not consider included projects.

The Computer Setup Wizard does not detect items that are defined in included projects.

* NCR 14146 - ABRSLINX driver.

Cycling of a connection (disable/enable) causes the logging of the "TOO MANY UNITS" error message

* NCR 14164 - Remote I/O Devices.

Calling IODeviceControl() for remote I/ODevices on a display client may cause a General Protection Fault in Citect. The IODeviceControl() function should only be able to be called from the server on which the remote I/O device is defined.

* NCR 14165 - Remote I/O device problem.

Client data requests may not be satisfied from the persistent data cache on a standby I/O server which has become the active I/O server. Client data requests should be satisfied from valid data in the persistent data cache on the active I/O server.

* NCR 14167 - Remote I/O devices.

Non-PSTN remote I/O devices do not disconnect when the timeout specified by the [Dial]MaxConnectionTime parameter is exceeded. All remote I/O devices should disconnect when this timeout value is exceeded.

* NCR 14168 - Remote I/O devices.

Non-PSTN remote I/O Devices can now share a Citect port. This means that the number of remote I/O devices is no longer limitted to 255 (the maximum number of ports supported by the COMX driver).

* NCR 14184 - IODeviceInfo().

The IODeviceInfo() function cannot handle unit names that start with a digit. It mistakenly assumes that a unit number was passed as the argument instead of a unit name.

* NCR 14188 - Error on adding trend pens.

When adding trend pens in runtime on a trend client the addition will fail and a hardware error 'Name does not exist' will be generated. The error will not happen on the trend server. This problem was introduced after the installation of Version 5.21 Service Pack D.

* NCR 14195 - Remote I/O devices.

Dial parameter MaxConnectionTime now controls the maximum time a dial-up I/O Device will remain connected, and CallerIDTimeout has been added to control the maximum time the I/O Server will wait for a valid Caller ID during dial in

* NCR 14198 - Remote I/O devices.

If a remote I/O device is in the connection queue when the connection schedule is disabled using the IODeviceControl() function with type 9, the I/O server will still connect to the device. Remote I/O devices in the connection queue should be removed from the queue when the connection schedule is disabled.

* NCR 14203 - DDE Driver Memory Leak.

Using the DDE driver to request data from another application may cause a memory leak.

* NCR 14204 - TagWrite() Scaling problem.

When tags are written to using TagWrite() some numbers will be scaled incorrectly. Occurrences of this problem are in the minority and depend on both the scale of the tag and the number being written.

* NCR 14214 - Disabled Alarm problem.

Alarms configured NOT to be displayed on the Alarms page would not be displayed on the disabled alarms page after they are disabled. This has been changed so that disabled alarms appear on the disabled alarms page if they are configured to be displayed on the alarms page or the summary page.

* NCR 14216 - IO Device driver function added.

A new Citect Drivers Development Kit API function has been added for controlling resource usage.

* NCR 14222 - Remote I/O devices.

Citect will connect to disabled devices and accept incoming calls from disabled devices. Citect should not connect to disabled devices and should ignore incoming calls from disabled devices.

* NCR 14226 - Printing from Project Editor.

Printing Cicode files or reports from the Project Editor may cause a GPF may occur due to the name of the file being too long.

* NCR 14235 - CTAPI Alarm or TrendHistory query returns incorrect records.

The CTAPI Alarm or Trend history query is using the local client's privileges instead of the CTAPI connection's privileges, which may result in incorrect records being returned to the CTAPI client.

* NCR 14236 - AlarmSumFirst() & AlarmSumNext() ignore user's access rights.

The Cicode functions AlarmSumFirst() & AlarmSumNext() return alarm summary records that the user does not have access rights to.

* NCR 14246 - Remote I/O devices.

Citect will sometimes fail to use an available dialin modem to connect to a device. If a dialin modem is the only available modem it should be used to service a scheduled connection.

* NCR 14247 - Citect hangs while disconnecting a modem.

Citect hangs for several seconds when disconnecting a modem connection, during which time #COM errors are displayed. Once the modem is fully disconnected Citect resumes normally.

* NCR 14264 - Apply button does not get disabled.

The Apply button on the object properties access page does not get disabled after being pressed.

* NCR 14341 - WinNewAt() with mode 512.

When WinNewAt() is used with mode 512 to open a supergenie it should block opening further copies of the same supergenie with the same associations. When a constant is passed as an association and the constant is the same, the second supergenie is not blocked.

* NCR 14345 - DspInfoNew() crashes Citect.

DspInfoNew() run on an object with a scaled array tag associated to it will crash Citect.

* NCR 14355 - Modifying Genies.

Modifying a genie while a page is open which has an instance of the genie on it can cause problems at runtime. An example of the type of problems seen is touch commands on the genie not functioning correctly.

* NCR 14361 - TagRead() fails on OPC and DDEDRV.

TagRead() may fail when used on variable tags being accessed through the OPC or DDEDRV protocol drivers. They will fail when the tag has an '[' (open square bracket) followed by a non numeric character or '0' (zero) as part of the address.

* NCR 14376 - Message log file rollover problems.

A device will only log to at most two files instead of the number specified, and will not rollover to subsequent log files.

* NCR 14382 - Accessing alarm properties may cause Citect to crash.

When Accessing alarm properties dynamically, for example via the TagRead() or TagWrite() Cicode functions or CTAPI, and there is no alarm device defined in the project may cause Citect to crash.

* NCR 14383 - Graphics Builder crash when saving a genie.

Graphics Builder may crash when saving a page containing the maximum number of characters(254) in the Genie Substitution string.

* NCR 14436 - Uppercase Genie substitutions don't work.

Genie substitutions don't work when defining an association using certain uppercase words (eg. "TEXT", "FONT", "VISIBLE", "MVX", "MVY", "ROT", "SZX", "SZY", "FIL", "CMD", "DOWN_CMD", "DBLCLK_CMD", "REPEAT_CMD", "MSG_LOG", "MVXSL", "MVYSL", "ROTSL", "PRIV", "AREA", "DEVICE", "DESC", "COMMENT", "DISABLED", "SET_ARR" )

* NCR 14449 - Alarm Event causes GPF during startup.

If an event occurs that calls Cicode functions WinNew() or WinNewAt() before Citect has completed initialisation a GPF may occur.

* NCR 14450 - Periodic Event Trend data does not export.

The Copy to Clipboard, Copy to File, and Print Trend buttons do not work for Periodic Event type trends.

* NCR 14458 - Citect may crash with ActiveX operations.

Trying to set an Object as a property of another Object will fail and may cause Citect to crash. (eg. Setting the RecordSource of a DBGrid Object to a ADO Object).

* NCR 14541 - OLE DB provider AlarmSummary query does not return a record.

If the Citect Server doesn't have any Plant2SQL licenses available, then the AlarmSummary query run by Plant2SQL will not return any records.

* NCR 14554 - Cicode Editor stand alone failure.

The Cicode Editor will not function if run up stand alone with a Citect.ini file in its local directory.

* NCR 14580 - Citect Key Update.

Citect Explorer now has a new menu item under the "Help" menu called "Citect Key Update" which assists users of earlier versions of Citect in the updating of their hardware keys.

* NCR 14603 - DDE Server crash.

Under heavy IO Server load, Citect may crash after a few hours, if acting as a DDEServer. The fix will prevent Citect from crashing when the IO Server is under heavy load.

* NCR 14632 - IODeviceInfo() Function problem.

When using the IODeviceInfo() function with an I/O Device Number, it returns an empty string.

* NCR 14674 - The DevPrev() function incorrect return value.

The DevPrev() function does not return error code 294 when the start of an ASCII file is reached.

* NCR 14696 - Remote I/O leaks handles.

Citect leaks Win32 handles if a PSTN-connected remote I/O Device is configured on an I/O Server but no modem is configured in Windows NT.

* NCR 14723 - Genie update problem.

When changing a genie property from either Multi-state Array Animated type symbol or Multi-state Array Numeric String type text to On/Off type symbol or text, the page which has the genie stays the same.

* NCR 14751 - Projects Fail To Upgrade.

Upgrading projects from versions earlier then version 5.00 will cause a GPF, and the upgrade to fail, if the following field names are contained in any of the projects files: "TEXT", "FONT", "VISIBLE", "MVX", "MVY", "ROT", "SZX", "SZY", "FIL", "CMD", "DOWN_CMD", "DBLCLK_CMD", "REPEAT_CMD", "MSG_LOG", "MVXSL", "MVYSL", "ROTSL", "PRIV", "AREA", "DEVICE", "DESC", "COMMENT", "DISABLED", "SET_ARR".

* NCR 14767 - Tag Import/Export from MXChange.

The Mitsubishi tag import/export driver does not allow importing or linking of tags from MXChange Server v2 projects.

* NCR 14836 - Sentinel Drivers Updated to 5.38

The Hardware key drivers have been updated to Sentinel version 5.38 for better support of Windows 2000.

* NCR 15090 – S-Bus Driver

When using the S-Bus Data mode some telegrams have an incorrect length.