Applies To:
  • CitectSCADA 5.xx, 5.40 Service Pack A

Summary:
If the Cicode function PrintFont() is being used in a report format file with RTF extension, printing the report will cause Citect runtime crash. 

Solution:
In Citect Help, if you type "Reports: Text Fonts" under the "Index" tab, you will see the following text:

Using Fonts (ASCII format only)

If your format file is in ASCII format, you can use any text font supported by Windows in the report. To specify a font, use the PrintFont() function. RTF format files do not require this function, as they use the formatting features of the host word processor.

If you click the hyperlink for the Cicode function PrintFont(), you will see the Description of it as:

Description Changes the printing font on the current device. You should call this function only in a report. It will change the font style for the device (or group of devices) defined in the Reports database (output device field). It has effect only on reports being printed to a PRINTER_DEV - it has no effect on other types of devices, such as ASCII_DEV and dBASE_DEV.

However, these help documents are not sufficient as user should stop using PrintFont() function in report format files with RTF extension.

There are two possible work arounds:

1. Rename the report format file from a rtf file to txt.

Using this work around, you will lose all the format designed by your RTF word processor, however you can still use the PrintFont() function.

For example:

{! example.txt }
-------------------------------------
        An example Report
-------------------------------------

{CICODE}
    PrintFont("Arial18RedBold");
{END}
    Plant Area 1
{CICODE}
    PrintFont("Courier12BlackItalic");
{END}

{Time(1) } {Date(2) }
PV_1 {PV_1:#####.##}
PV_2 {PV_2:#####.##}
----------End of Report---------------

2. Get rid of the PrintFont() function from your report format file if it is RTF file.

With this work around, you have to manually set all different font, size, color and etc in you RTF word processor.

For example:

{! example.rtf }
-------------------------------------
        An example Report
-------------------------------------

Plant Area 1

{Time(1) } {Date(2) }
PV_1 {PV_1:#####.##}
PV_2 {PV_2:#####.##}

----------End of Report---------------

Both of the above two examples should have the same printing result.

CIT has confirmed this to be a problem in Citect for Windows versions 5.00 to 5.40 Service Pack B. We are researching this problem and will post new information here as it becomes available.

 

Keywords:
 

Attachments