Home page Home page Home page Home page
Pixel
Pixel Header R1 C1 Pixel
Pixel Header R2 C1 Pixel
Pixel Header R3 C1 Pixel
Pixel
By Sprezz | Wednesday, 11 November 2015 13:25 | 6 Comments
Many people who initially made the move to AREV32 with the intention of slowly re-engineering their way to a purely OpenInsight based environment still find themselves with systems that are heavily AREV32 reliant. With this in mind we thought it might be an idea to spend a little time examining CFG_CTO to see what little goodies might be lurking in there. So with the help of Revelation's esteemed CTO guru, Bryan Shumsky we've put together this little guide.

CFG_CTO consists (at the time of writing) of 10 columns in a single row. Note that several of these columns are only relevant when working with the CTO rather than AREV32 but for the sake of completeness we will document all of the columns.

Bear in mind that when looking for a config row for the CTO OpenInsight will firstly look for CFG_CTO*<appid>*<username>, then  CFG_CTO**<username>, then CFG_CTO*<appid> before finally settling on CFG_CTO.

Column 1 - Server Details

URL

If a URL is entered here it will be assumed to be the path to the engine server responsible for dealing with engine requests

Path

If a path is entered here it will be assumed to be the path to the REVCAPI32.DLL to use for dealing with engine requests. Normally this is set to a period (full stop) to indicate the currently running engine.

If an exclamation mark is entered here the IP address and port number  will be taken from the CFG_ESERVER row in SYSENV.

 

Column 2 - Additional Details

This is a multi-valued column having up to four values.

Value 1 Port Number

The port number on which to communicate with the engine (server). By default this will be 8088 so if you are not changing the default this does not have to be entered.In OI 10 this value will default to 18088 to allow earlier versions and 10 to coexist on the same server.

 

Value 2 Engine Name

If you want to communicate with a specifically named engine server then enter the name here.

 

Value 3 Startup Flags

The flags to apply to the engine on startup. These can be as follows :-

   0 = Open Existing engine.
   1 = Create a New Engine
   2 = Open existing if available, otherwise create a new engine
   65 = Create a New Engine with no UI


The default value is 65

 

Value 4 Shutdown Flags

The flags to apply to the engine on shutdown. These can be as follows :-

   0 = Leave engine open
   1 = Close engine

The default value is 1

Column 3 - Foreground Color - CTO Only

This contains a text string, being chosen from a list of hard coded colours, namely

BLACK
DARK_BLUE
DARK_GREEN
TURQUOISE
DARK_RED
PURPLE
OLIVE
LIGHT_GREY
DARK_GREY
BLUE
GREEN
CYAN
RED
MAGENTA
YELLOW
WHITE

 

Column 4 - Background Color - CTO Only

This contains a text string, being chosen from a list of hard coded colours, namely

BLACK
DARK_BLUE
DARK_GREEN
TURQUOISE
DARK_RED
PURPLE
OLIVE
LIGHT_GREY
DARK_GREY
BLUE
GREEN
CYAN
RED
MAGENTA
YELLOW
WHITE


Column 5 - Window Title

The caption to appear in the AREV32 window.


 

Column 6 - Program

The name of a program to run within the AREV32/CTO environment. It will be run and then AREV32/ CTO will be terminated so this is NOT a startup program in the traditional sense. It does not run and then continue to AREV32/CTO. This permits the running of a single AREV32 routine without having to have the user log off.

 

Column 7 - Font Name

If you enter the name of a fixed pitch ANSI Windows font here it will be used in place of the default AREV32.



 

Column 8 - Macro Name

This does not refer to AREV32 Macros but rather the VBScript-alike Macros supported by the underlying AccuTerm OCX. This is specified as the name of a record in SYSENV, or as <table><space><recordname> if stored anywhere else.

 

Column 9 - History Lines

This column determines how many lines of "history" will be kept. You will likely have noticed that normally the AREV32 console has a vertical scroll bar. This is because by default a history is being kept of previous screens. This is a new feature and is not present in the shipping version with 9.4.

 

Column 10 - Character Mapping Function

The AREV32 console actually displays UTF8 characters not ANSI. So when working with alternate character sets it can sometimes be desirable to display different UTF8 characters for specific ANSI values. Column 10 permits the specification of the name of a function to be called that actually returns the mapping to be used.

When a mapping has been specified, any time the control receives one of the mapped ANSI characters (either via the keyboard, or sent from the host for display), the associated Unicode character will be displayed on the screen. The function should take no parameters, and should return a string that has the following format:

<char_code>:<Unicode_value>,<char_code>:<Unicode_value>{,…}/<char_code>:<Unicode_value>,<char_code>:<Unicode_value>{,…}

Where <char_code> represents the “input” ANSI character (as a decimal value), and <Unicode_value> represents the desired Unicode “output” (specified as a hex string). The <char_code> and <Unicode_value> are separated by a colon; multiple mappings are separated by commas. The first “/” delimited section of the string specifies the mappings (if any) that should be applied to the control when it is in “text” (CTO) mode; the second “/” delimited section of the string specifies the mappings (if any) that should be applied to the control when it is in “graphics” (AREV32) mode.

For example, the following string shows a very simple set of mappings:

65:010C/65:0171

This says that, when an ANSI 65 (“A”) is received by the control, it should display either Č (when running in CTO mode) or ű when running in AREV32 mode.

Note that the data that is actually RECEIVED or SAVED into the database will still be the associated ANSI(single byte) character under all circumstances.

This is a new feature and is not present in the shipping version with 9.4.

6 Comments:

  • Thanks to Sprezz and Bryan for putting this all in one convenient place.

    By Blogger Don Bakke, At 11 November 2015 at 22:14  

  • You're very welcome. It is all too easy to learn something and then have to relearn it again 12 months down the line because you forgot to document it somewhere you could find it again!

    By Blogger Sprezz, At 12 November 2015 at 09:59  

  • Would column 10 help the following behavior I see in my AREV32 application? Where I have menus items that point to another menu, there is supposed to be a triangle character that points right. When I resize the Arev32 form larger or maximize the form, the triangle character turns to a circle or zero (but different font than what is on the menu). The characters are correct if the form is kept below a certain size, but shows the wrong characters once enlarged. I haven't been able to figure out how to correct the issue.

    By Blogger Unknown, At 13 November 2015 at 17:11  

  • We've seen this behaviour but not been sufficiently vexed to investigate it. In theory you COULD use it for this although it seems a little like overkill. We'd be tempted to experiment with alternative fonts first.

    By Blogger Sprezz, At 13 November 2015 at 17:17  

  • Thanks and I like it.

    By Blogger Danh, At 13 November 2015 at 19:20  

  • Here are what I use as the CFG_CTO options when using the Graphic Debugger in Arev32. You have to run a local java OESocketServer.jar.
    Column 2 Value 3 Startup Flags = 1, Value 4 Shutdown Flags = 1, Column 6 program = NONE surrounded by << and >>

    By OpenID daveh99, At 16 December 2015 at 23:53  

Post a Comment

Subscribe to Post Comments [Atom]



<< Home

Pixel
Pixel Footer R1 C1 Pixel
Pixel
Pixel
Pixel