![]() |
![]() |
![]() |
|
|
|
|
Last updated: 18 Aug 2004
It is possible to install AniTa on a central server in a network. This central server can be a Windows server or even a UNIX machine running Fusion95. This is especially useful in larger installations.
It is not necessary to install AniTa on every PC that is going to run the software. Instead you just install AniTa once on the central server and then add a link from each workstation to the AniTa software on central server. The link would normally be from the workstation's desktop and/or start menu.
The license codes are installed on the central server, and these apply to all workstations; one license is still needed for each workstation that will run AniTa.
When it is desired to install a newer version of AniTa, you only need to upgrade the central server and then all workstation have access to the new AniTa software.
If one or more generic configurations are to be used by all users, then these can also be placed on the central server. Alternatively it is possible for users to place their individual configuration files on their local workstations. A combination of local and server-based configuration files is also possible.
The system administrator can make the AniTa installation on the central server read-only, to protect it from accidentally being changed or deleted. Normally only the system administrator would have write access to the central server, being able to upgrade AniTa or change the generic configuration files.
A problem can occur when running the 16-bit version of AniTa in a 32-bit version of Windows which has Internet Explorer 5 installed. We strongly recommend running the 32-bit version of AniTa (version 4 or later) when running on a 32-bit version of Windows in order to avoid these problems.
This applies to AniTa version 3.5.0 (and earlier). The problem occurs when connecting via TCP/IP. AniTa 3 will still run over NetBIOS and asynchronous connections, even with IE5 installed.
When Windows has Internet Explorer 5 installed, the 16-bit socket interface used to access TCP/IP is changed.
When AniTa attempts to connect via TCP/IP the following error will ocuur:
ANITA caused a General Protection Fault in module ANITA.EXE
AniTa version 4 (and later) are 32-bit programs and are not effected. To permanently resolve this problem, use the 32-bit version of AniTa when running on a 32-bit version of Windows.
This problem is resolved in AniTa version 3.5.1
DDE can be used to communicate between AniTa and other Windows applications. Thus a Windows application that could not normally communicate with the host computer, can use DDE and let AniTa perform the communication.
AniTa has two kinds of DDE functionality. It can be configured to work as a DDE server, as a DDE client or as both.
Samples of Visual Basic programs to work with AniTa can be found on our internet server located in the directory: ftp://ftp.april.se/pub/anita/dde
AniTa's DDE client capability lets you define a 'start' and a 'stop' string that are scanned for in the host output. When the start and stop strings are received from the host, AniTa connects to a DDE server enabeled Windows application, pokes the data between the 'start' and the 'stop' to the application and disconnects the DDE session. AniTa collects a maximum of 10,000 DDE characters.
To configure AniTa's DDE capabilities, select Preferences from the Config menu. Then choose the DDE dialog box. To configure AniTa as a DDE client, use the following settings:

The above example "hard codes" the configuration parameters of the DDE server to which AniTa will send data. Data will be sent to the item called "ddemessage" in a topic name of "vbservertop" within a DDE service called "vbserver".
When AniTa sees the start string |FROMHOST| in the data coming from the host, AniTa starts collecting all incoming data to a buffer. (this is transparent to the AniTa user). When AniTa sees the stop string |END| in the data stream from the host, the collected data is sent to the DDE server.
A simple test from UNIX to see that this link is working is to use the echo command. This will send a string to AniTa. If the string containd the configured start and stop strings then the data in between will be sent to the configured DDE server.
In order to send the string "hello from UNIX" use the following command:
# echo "|FROMHOST|hello from UNIX|END|"If on the other hand you want to be able to specify the destination DDE server from within the host, rather than have it "hard coded" in AniTa, change the AniTa DDE parameters as follows:

This will read the DDE server parameters (service, topic and item names) from the string send by the host. They should immediately follow the DDE start string and be seperated by the delimiter specified, in this case the default vertical bar.
In order to send the string "hello from UNIX" to the DDE server specified, use the following command:
# echo "|FROMHOST|vbserver|vbservertop|ddemessage|hello from UNIX|END|"We provide on our ftp server, a sample Visual Basic program that can be used in conjunction with AniTa to test its DDE capability. We provide both an executable program and the source. The DDE parameters are vbserver, vbservertop and ddemessage as used in the above examples.
Get
the source of the VBSERVER.EXE program
AniTa's DDE server capability lets you connect to AniTa and poke strings that AniTa then sends to the host just as if the text had been entered at the keyboard. Text on AniTa's screen can be read via DDE. This makes it possible for you to control host applications and to display host data from within windows programs that supports DDE.
To configure AniTa's DDE capabilities, select Preferences from the Config menu. Then choose the DDE dialog box. To configure AniTa as a DDE server, use the following settings:

Once you have configured AniTa as a DDE server, you can send it commands from a DDE client application. There are two methods of sending commands: DDEPoke and DDEExecute. Data is returned to the application from AniTa using DDERequest. AniTa supports three DDE commands: TOHOST, TOHOSTX and GETTXT.
Used with DDEPoke or DDEExecute. The TOHOST command sends the string to host as if typed. It will translate sequences like <CR> and <1B>.
Used with DDEPoke or DDEExecute. The TOHOSTX command sends the string to host as if typed. It will perform a full macro expansion and translate sequences like <CR> and %terminal%.
Used with DDEPoke or DDEExecute. The GETTXT is used to tell AniTa what portion of the screen is to be read. When you call GETTXT with valid parameters, AniTa creates an item called TXTRET and puts the return data here. You can then use DDERequest to get the return data.
The GETTXT command has two forms; it must be supplied with either four or nine parameters. The short form copies the data as it is on the screen, appending a CR/LF after each line. The long form works just like AniTa's 'table copy' function. The five extra parameters in the long form corresponds to the checkboxes and radio buttons in the 'copy table' dialog box.
The parameters to GETTXT are sent as string containing a semicolon-separated list of integers. The parameters are:
Examples:
Used with DDERequest. The TXTRET is used to read from AniTa's screen. You must preceed it with a GETTXT command in order to tell AniTa which part of the screen is required.
In the following examples we use service ANITA and topic ANITATOP, which are the default settings for AniTa and which are shown configured above. If you change AniTa's DDE configuration, then change these in the examples as well. The item is always the name of the command, and is thus not configurable when AniTa is a server.
To send commands to AniTa via DDEPoke, send to an item with the same name as the command. You cannot send embedded NULL characters in the string. The poked string's maximum length is 100 characters.
For example, you could poke the string "getinfo karlsson<cr>
|
DDE Command: |
DDEPoke |
|
DDE Service: |
ANITA |
|
DDE Topic: |
ANITATOP |
|
DDE ITEM / AniTa Command: |
TOHOST |
|
String: |
getinfo karlsson<cr> |
To send commands to AniTa via DDEExecute, send a command to the AniTa's
service/topic pair, prepending the data with the command name and a semicolon.
There must be no space between the command name and the semicolon. To send the
string in the example above, you would DDEExecute the string "TOHOST; getinfo
karlsson<cr>
|
DDE Command: |
DDEExecute |
|
DDE Service: |
ANITA |
|
DDE Topic: |
ANITATOP |
|
String: |
TOHOST;getinfo karlsson<cr> |
To obtain data from AniTa's screen, first send a command using DDEPoke/DDEExecute telling AniTa which part of the screen you wish to read, and then issue a DDERequest to item TXTRET to read the data.
Tell AniTa what to read (all 80 columns and 24 lines):
|
DDE Command: |
DDEPoke |
|
DDE Service: |
ANITA |
|
DDE Topic: |
ANITATOP |
|
DDE Item / Anita command: |
GETTXT |
|
String: |
0;0;80;24 |
Read the returned data:
|
DDE Command: |
DDERequest |
|
DDE Service: |
ANITA |
|
DDE Topic: |
ANITATOP |
|
DDE Item / Anita command: |
TXTRET |
We provide on our ftp server, a sample Visual Basic program that can be used in conjunction with AniTa to test its DDE capability. We provide both an executable program and the source.
Get
the source of the VBCLIENT.EXE program
The following VBA (visual basic for applications) code uses DDE via AniTa to obtain the time from the host and insert it into the current Word document. It has been tested with Word 97 under Windows 95. AniTa has to be running for this to work.
It works by first sending the command "clear" to UNIX, and waiting 3 seconds for this to be performed. Then it sends the command "date", the result of which will now appear on the top two lines of the already cleared screen. After 3 seconds, it reads the first 30 characters of the line containing the UNIX date and inserts this into the Word document together with a comment. It is not necessary to use the ddedelay, but it does make the example simpler.
Public Sub MAIN()Sometimes when a problem occurs running an application in AniTa, the resolution can best be determined by creating a trace file. This trace file contains the all communications between the host computer and AniTa.
To record the communications in a trace file, perform the following steps:
You have now created a trace file. It will be called "anita.trc" and will be located in the same catalog as the configuration file used to start AniTa. This is normally "anita.wcf" located in the "C:\Program Files\AniTa" catalog.
This trace file will contain all the characters and escape sequences sent by the host to AniTa and all the keyboard input sent by AniTa to the host.
If you are using this file to report a problem to support, please send the AniTa configuration file "anita.wcf" as well as the "anita.trc" file. This will enable support staff to play back your recording, using you same configuration and see the problem as it appears on your screen.
AniTa connects OK (the toolbar phone gets green) , but there is nothing on the screen.
The default Scroll Lock mapping in AniTa version 3 and 4 is %hold% which is used to temporarily hold data reception.
Fix: Toggle the Scroll Lock key and verify that this is really the problem.
You can permanently remove the Scroll Lock mapping the following way:
1. enter the keyboard mapping dialog.
2. click on Scroll Lock on the graphical part.
3. click on delete button.
4. click OK to leave the dialog.
5. go back in and verify that %hold% mapping is now gone.
How is it possible to make a modem connect at a specific speed? When I establish a serial connection with a Modem it always uses its highest speed, for example 28,800 baud, how do I setup the modem to use a slower speed such as 19,200 baud.
There is a Hayes AT command to set the highest link rate. It is the S37 register value. The command can be added to the Modem init string configured in the AniTa "Modem type" menu. Here is a list of command values:
| 0 | Use Last AT Speed |
| 1 | Reserved (75) |
| 2 | Reserved (110) |
| 3 | 300 |
| 4 | Reserved (600) |
| 5 | 1200 |
| 6 | 2400 |
| 7 | 4800 |
| 8 | 7200 |
| 9 | 9600 |
| 10 | 12000 |
| 11 | 14400 |
| 26 | 16800 |
| 12 | 19200 |
| 33 | 21600 |
| 29 | 24000 |
| 34 | 26400 |
| 15 | 28800 |
Examples:
ATS37=9 to set the highest link rate to 9600
ATS37=12 to set the highest link rate to 19200
ATQ0V1E1S0=0S37=9 Initialize the modem and set the highest link rate to 9600
General modem information:
http://www.56k.com General 56K Modem
information and troubleshooting
How do I make AniTa modem accept incoming calls?
Autoanswer is normally configured using the S0 register. The S0 value is the number of incoming ring signals before answering.
The default AniTa Modem Init string is set to: S0=0 (disabling incoming calls since you will normally dial out). If you want AniTa to wait for an external call, do the following:
1. Disable "Phone Number/Auto-dial"
2. Change the "Initialize" string in the "Modem type" menu.
3. Click the AniTa "Connect" button. (Wait for someone to dial
in)
Example: AT&FQ0V1E1S0=1
How do I connect to a dialback modem?
Dialback is a feature in a modem. It can typically be configured in
many different ways.
If both modems are of the same type, It can be configured without changing
any of the computers involved. (read the modem manual to find out how to
configure it).
If the remote modem is configured for dialback to any incoming modem,
you need to enable Auto-answer in the AniTa end to get it working.
Auto-answer is described above. The following is a typical
example of what's happening when you connect to a dialback modem:
How do I stay connect after connecting? The line gets connected OK, but is immideately disconnected when data is sent or received.
There may be many reasons for this to happen, so we know we can't give you a good single answer here. One reason is that the modems are simply not compatible for automatic link speed negotiation. You need to find out how to configure your specific modem to connect at a specific highest link rate. Consult your modem reference or try the speed connect method above.
Another reason may be that the speed between the computer and the modem is not the same. This can typically be configured using the AT&B1 command. &B1 means: use fixed rate between the modem and the CPU. This is typically needed on the mainframe side.
My host application can print to the printer connected to one AniTa Windows PC printer while the same application can't print to a printer connected to another AniTa Windows PC printer. What can possibly be the reason?
There may be many reasons for this to happen, so we know we can't give you a good single answer here. One reason is often:
The printer may not support normal byte stream data. Some printers (
typically low-cost) only support something Microsoft and printer manufacturers
call: "Windows Printing System". A part of the printer driver is running in the
PC. This means that there must be a machine sending data to the printer
using the Windows Printer GDI API. It also means that other operating systems
can't use the printer directly in the traditional "lineprinter" way. AniTa can
try to support passthrough printing from UNIX to the printer by translating the
UNIX byte-stream to the Windows GDI interface. You configure this in AniTa
Terminal #1 dialog by changing to: "GDI printer driver" (from the default:
"Send host formatted ...").
You can test if the printer is working in byte stream mode and/or just
in GDI mode. Do the following:
Is it possible to use UNIX/AIX/Linux LPD to print to Windows printers?
Yes, with AniTa version 7.
AniTa version 7 Enterprise license includes the AniTaLPD program. AniTaLPD supports the LPD printing protocol. This makes it possible to print from the UNIX applicatioin to a printer located on the AniTa PC or the network where AniTa is connected. The general rule is: If the printer can be used from Windows, then you can print to it from UNIX.
Features.
The
AniTaLPD task can be started/stopped automatically every time AniTa is
started/stopped. Printing can be filtered through the same filters and
configuration as the Terminal Printer configured in AniTa. It can also be
set up to route print data to different AniTa printers based on the LPD
queue name. Another feature is the /cat parameter that allows raw
datastreams to be printed using for example the netcat freeware
program. AniTaLPD can also be used to receive files to disk. It is
possible to send an escape string to AniTa that starts up AniTaLPD on a specific
port to receive one single job and save it to disk, then exit.
AniTaLPD supports multiple parallell
sessions.
Starting AniTaLPD can be done either from the command line or from the AniTa menu: Config->Preferences->LPD Server.
Some of the keyboard keys (like screen movement) doesn't work.
The screen
movement using any keyboard key (including the arrow keys) are handled by the
host application. The host side knows which code AniTa sends when an
arrow key is pressed. The problem can be that the host application for
some reason has a different opinion about which keyboard codes AniTa will send.
Termcap and terminfo overview.
All
UNIX/AIX/Linux hosts keep a terminal capabilities definition database. It
is called termcap on older systems and it has later been enhanced and
most applications now use the terminfo system. The application will for
example read termcap or terminfo to find out what a left-arrow key is sending.
Termcap is a text file including all supported terminal types while in terminfo,
each terminal type is compiled into a very small file that exists in a terminfo
tree with one folder for each starting letter. Terminfo and termcap keep
the terminal screen and keyboard capabilities. Each capability has a name
(the name is different in termcap compared to terminfo). There is one
terminfo entry for each terminal type supported by the system. You can add
your own entry, or use an existing entry. Termcap can be modified with any text
editor. Terminfo can be decompiled, change and then recompiled into the
terminfo tree. The terminfo command to decompile an entry can
be:
infocmp
or
infocmp
vt220>my220
The terminfo command to compile an entry can
be:
tic my220
How does the host know
what kind of terminal is connected?
TCP/IP: When the terminal (AniTa)
connects to the host over TCP/IP using telnet or OpenSSH, the host will get the
terminal type automatically. This is built into the telnet and OpenSSH
protocols and always used by the host terminal server. It will result in
the TERM environment variable being set to the terminal type AniTa is configured
for. Some host systems have a hard coded function in the .profile script
that sets TERM to some predefined type assuming that all terminals that connect
are all the same. (.profile is the script that normally gets executed when
a use logs in). AniTa is by default configured to send the last word of
the terminal type you have selected. Example: If you select DEC
vt220, then AniTa will only send vt220. This is configurable in
the AniTa menu: Config->UNIX ENV where the macro %terminal% represents the
last word of the terminal selection. If you want to run AniTa in vt220
mode and fool the host that it is actually a my220 terminal then change it to:
TERM=my220.
Serial: If you connect directly to the host serial line or
over a non-TCP/IP modem line, then the TERM variable is not automatically set
since there is no "protocol" involved. It is common practice for the host
to enquire the terminal about the terminal type by sending the 'answerback'
code. AniTa will respond to the 'answerback' code by sending the terminal
type configured. This can be changed in the AniTa terminal settings
dialog, "Answerback" configuration.
After logged into the host, you can find
out what the TERM variable is set to using the command:
echo
$TERM
If the reply doesn't correspond to the terminal type
you have configured AniTa for, then the TERM= mechanism doesn't
work.
How does AniTa know what terminal it is emulating and which
keyboard codes to send?
You can change the terminal emulation mode in the
AniTa menu dialog: Config->Terminal Emulation. After changing the
terminal type and exiting the dialog you will get the question: "Load default
keyboard map, definitions, ....." Make sure you answer Yes
unless you have very specific reasons to keep the existing keyboard
mapping. Custom keyboard mapping is described in detail in the AniTa
User's Guide.
NOTE! Very Important: After changing terminal type you
must disconnect and re-connect again for the host to know you have changed the
terminal type and update the TERM variable. Else the host may still think
you are a vt220 while you may have changed your own keyboard mapping to for
example Linux.
Largest possible font size
There are gray areas around the text. How do I make the text fill the screen as much as possible?
Quick tip to fill the screen with largest possible text size:
1. First of all it may be good to know that, if your PC screen resolution column in the following table has a 'Yes', then it is possible to completely fill the horizontal screen.
| 1600x1200 | 1400x1050 | 1280x1024 | 1024x768 | 800x600 | 640 x 480 |
| Yes | No | Yes | No | Yes | Yes |
2. You can make it look like the screen is filled by doing the following:
Detailed Answer:
General Font Scaling
True Type and
OpenType
AniTa supports True Type and Open
Type fonts. These fonts are defined as a mathematical algorithm. One very
nice feature is that all True Type and Open Type fonts are scalable by the
display driver.
Bitmapped
AniTa supports
Bitmapped fonts. Each character in a bitmapped font is defined as a bitmap. Each
size of a character in the font selection list is represented by its own bitmap.
This means that bitmapped fonts are scalable to the predefined bitmaps that are
installed. The display driver will also allow scaling a bitmap font to any power
of 2 by simply stretching the bitmap.
Largest possible character size
Maximize screen ( the WINDOW button )
allows using largest possible fonts. When the maximize button (in the upper
right corner) is pressed, the whole screen will be occupied by AniTa and the
area around the screen will be filled with the frame background color. The frame
border size (and the fill region around) will be reduced to zero if the
currently selected font fills the whole screen. Some screen resolutions
will use the full screen size and some won't. The rule is that the
horizontal screen resolution (pixels) must be evenly dividabale with
the number of columns.
Examples:
(All
examples assume 80 columns since this is the most common number of
columns)
Example 1: On a 800x600 resolution you get 800 / 80 =
10 pixels/character.
Example 2: On a 1024x768 resolution you get
1024 / 80 = 12,8 pixels/character. There will be 0,8 pixel/column
left (64 pixels)
Example 3: On a 1280x768 resolution you get 1280 /
80 =
16
pixels/character.
As you can see from the examples, some screen resolutions will fit exactly. The following table shows the some of the most common screen resolutions. It inducates if 80 columns can completely fill the horizontal screen. The table assumes you are using a scalable font like TrueType Courier New or AniTa.
| 1600x1200 | 1400x1050 | 1280x1024 | 1024x768 | 800x600 | 640 x 480 |
| Yes | No | Yes | No | Yes | Yes |
How do I connect to different hosts using all the same settings except the host IP address?
There are 2 easy ways to do it.
1. Create a
shortcut on the desktop that sepcifies the host address on the command
line. This will override the .wcf file setting.
Example:
"C:\Program Files\AniTa\Anita.exe" /ip:hostname.
2. Use "Recently used
host list".
AniTa keeps a record of all hosts connected to. The list is
kept in a text file. The file name can be configured in the menu:
Config->Preferences->Files. It is possible to disable updating of
the file. The default name of the file is anitahosts.txt. This method requires "Prompt
for host" to be set (in menu: Config->Preferences->View).
How do I use different .wcf "settings files" that use the same mapping files (.key, map, xlt, .dyn, ....)?
AniTa settings are stored in a number of files. The main file with most of the settings is by default named AniTa.wcf. Settings for the keyboard mapping, screen button descriptions, dynamic hotspots normally follows the .wcf file name, but with other extensions (like .map .key .but .dyn and a few more). When you save the setting using your own specified name, you also normally save a set of these files. The .wcf file contains file name pointers to these files, and it is possible to create multiple .wcf files that points to the same set of mapping files. In AniTa, go to the menu Config->Preferences->Files and uncheck the "Autoname to same as settings" parameter. Then change the file names to whatever your first .wcf file was.
![]() |
|
|||
| © Copyright 2004-2010 | Developed by April System Design |