Uniface Client Server App Development

uniface software, uniface technology, uniface project, uniface forum

Archive for April, 2010

RE: TELNET emulation


Reflections 2 (from Walker Richard Quinn, Inc.) is perhaps the best known
vt terminal emulator here in the states.  I don’t believe they support
cursor movement with the mouse but they include a full-blown
scripting/programming language which might let you do it.
A number to call in Europe for a distributor is +31.(0)70.375.11.00.

Larry Jones
Caelus, Inc.
From:   Richard Kohnen[SMTP:it...@muc.de]
Sent:   Thursday, December 07, 1995 6:31 AM
To:     cae…@comtch.iea.com
Subject:        TELNET emulation

We are working at present with ONET 1.2. In this package we have a
Telnet VT220 (8Bit) Emulation. Last week I’ve seen ONET 2.0 with the
TELNET DEC VT320 Emulation. There is no big difference between them.

Does anybody out there know a terminal emulation which work in a
PC/TCPIP environment with more than 6 colours and perhaps


  dr. richard kohnen
  kapellenstrasse 7
  d-82008 unterhaching
  tel.: +49(0)89-61500019
  fax.: +49(0)89-61500021
  e-mail.: it…@muc.de

begin 600 WINMAIL.DAT
H“#I`6KIEC#/$:\5`""O$\%”@`]“$““%““4D4Z( ““!9K “

posted by admin in Uncategorized and have Comment (1)

Change to Unifield

I have a peculier problem. All of a sudden when i open a form all of my
edit boxes,display boxes would change to unifield. Though this is not
frequent, it causes a real pain in changing back all to the respective
one’s. I would be glad if someone figures out whats wrong.


posted by admin in Uncategorized and have Comment (1)

Toolbox with sources at 400 US $

See our homepage
for info on toolbox panta rei and downloadable demo version.
Offer only valid until December, 31 1995.

Ulrich Feiden
EDV Beratung Feiden GmbH

posted by admin in Uncategorized and have No Comments

Re[2]: Table create script generation


     A simple question:

     Does your SEK (on the PC) allow you to connect to an Informix


     These are my opinions – and mine only!!

______________________________ Reply Separator _________________________________
Subject: Re: Table create script generation
Author:  unifac…@ctc.ctc.edu at CWUS-Internet
Date:    95-12-8 18:17

I had the same problem.  It turned out that I had an entity assigment in my
asn file
that placed the entity on the DB3 driver path instead of informix.  When I
that assignment; the create table worked fine.

———————————Original Message

- Hide quoted text — Show quoted text -

>Did anyone experience the following problem with Create Table utility:
>I tried to generate INFORMIX table create script from default  DB3 database
> ( Uniface 61d8, WFW3.11). I have made sure that:
>  1.   INF5030.dll (INFORMIX driver)  is placed in demandload line in  .INI
>  2.   $INF=INF and $DEF=INF are specifed in .ASN file.
>  3.   Model is analyzied
>Then I ran the Create Table utility (Deployment->DB Utilities->Create Table).
>Uniface came back with a message saying "command file for tables created".
>However the command file was empty (the file did get created).
>What have I done wrong or missed? CCC cannot find anything wrong.
>Any suggestions/pointers will be appreciated.

>Thanks in advance.

>Ken Feng
>Blinco Systems
>416-510-8800 ext 240
>Email: kenf…@idirect.com

posted by admin in Uncategorized and have No Comments

Re: Table create utility problem

- Hide quoted text — Show quoted text -

kenf…@idirect.com (Ken Feng) wrote:
>Thanks to all who responded to my posting regarding problems
>generating INFORMIX table create script from DB3 last Friday.
>As a supplement to my question, I have the following:
>1.  My SEK does include INFORMIX driver.
>2.  The following message  was found in some subsequent test:
>     "Cannot find ISQLI501.DLL"
>     "Unable to load C:\usys61d\bin\inf5030.dll;error 2"
>     The message seems to tell me the INFORMIX driver didn’t get
>     loaded because of lacking file ISQLI501.DLL (inf5030.dll does
>     exist however).
>     I called INFORMIX and was told ISQLI501.DLL belongs to
>     their network client product (INET for windows). Since I use
>     polyserver to handle remote data transport, I do not have
>     the INFORMIX database client on my local machine. (Is not this
>     is what  the polyserver for?)
>     Whitout having purchased the additional INFORMIX product (Money
>     is an issue), is there a way to get around, perhaps using polyserver?
>     I do have INFORMIX driver present on my SCO unix machine.
>Thanks again for any ideas.
>Ken Feng
>Blinco Systems
>416 510-8800 ext 240
>Email: kenf…@idirect.com    


When Informix runs under Polyserver, you should not use the informix
driver on the client at all. Only a correct path-to-path,
path-to-driver setting is needed. Now you will probably have no
INF-mapping at all or a mapping like $INF INF:database|user|password
in the client-asn.

On the client-side you should define in the ASN-file:

$TCP    TCP:machine|user|password

$INF    $TCP

And in the PSV.ASN:

$INF     INF:database|user|password

When using the CTU you have to specify a database (Informix). Uniface
will use the mnemonic for it’s path. So you should direct this
mnemonic (INF) directly to TCP and at the polyserver-side you should
again map $INF to the database-driver INF:. So do not specify
INF5030.DLL in the INI-file, because this will try to initialize

If this does not work, send your USYS.ASN, PSV.ASN and IDF.ASN (or any
other ASN you use).


Peter van Miltenburg
Email: pet…@knoware.nl

posted by admin in Uncategorized and have Comments (7)

Re: Invoking Windows Apps from Uniface


The way you could approach this is to do what File Manager does and take
advantage of the associations set between a filename extension and a
specifc application.

What File Manager is doing when you Associate a filename extension to a
specific application is store that MAP information in the Windows
registration database and the WIN.INI initialization file.

Double-clicking on a file in File Manager fires off the FindExecutable and
ShellExecute functions which have been linked into File Manager.  File
Manager uses FindExecutable to retrieve the name and handle of the
executable file that is associated with a specified filename, by reading in
the pertinent information stored in the registration database and WIN.INI.
File Manager uses ShellExecute to open or print a specified file, depending
on the value of its lpszOp parameter (in File Manager, you change the
lpszOp value passed to ShellExecute by choosing Open or Print from the File
Menu).  To open a document file, ShellExecute relies on the information in
the registration database and WIN.INI to resolve the association of the
filename extenstion.

Where’s this going?  Well, you can write a DLL using the FindExecutable and
ShellExecute functions to open the appropriate file and its associated
executable, and pass control to that executable.  You write the module,
throw a perform ‘routine’ statement into a menu item, for example, and
you’re set.  You and your users can use the menu option in the UNIFACE
application to open up your program to view the file as necessary, close
out the program when done, and return control to UNIFACE.  Depending on how
good a Windows code-slinger you are, your integration of this DLL can
appear quite seamless (for UNIFACE).

Of course, you would have to ensure that the association has been defined
in the registration database and WIN.INI – the easiest way to do so is via
File Manager.  Other than that, you’d just have to distribute your DLL
along with your UNIFACE application, and ensure that you distribute the
appropriate USYS*.INI file along with it (i.e., one that calls the DLL in

If you want to get some more information on writing Win 16-bit DLLs for use
with UNIFACE, you can request my paper ‘Developing Windows DLLs’ from me or
get it from the FTP server, whenever it makes it out there.  The file is
3GLMSW.DOC (not to be confused with Greg Meyers’ paper, MSW3GL.DOC).

I hope this is of some help.


charlton.barr…@ebay.sun.com; barr…@Biz.net

TCHAR szDisc[] = _T("My opinions are my own; I do not speak for Sun");

- Hide quoted text — Show quoted text -

>O’ Gurus of the ListServ,

>We have a question that is probably simple, if you know the
>answer (but we don’t!)…

>The situation is that we have an instruction file containing one
>record for each production instruction necessary to complete
>the customer’s requirements. These instructions may identify
>such things as special processing needs, what type of base
>materials to use, what tests must be performed on the parts,
>etc. The users want to be able to "attach" source materials to
>the instruction records so the users can see a diagram of the
>"instruction" or maybe bring up a word document that would
>discuss the requirements of the "instruction", etc.

>What we need to know is how to invoke the windows 3.1 program
>that would be necessary to "view" the file attached to the instruction
>record. Is there some way to invoke the process that is used by the
>File Manager that will lookup the file extension of the file and invoke
>the proper program file via the associations in the WIN.INI file?

>Any ideas would be appreciated to "solve" this problem…

>Thanks in advance for all of your help!

>Lanny Keithley
>Gentry, Inc.

posted by admin in Uncategorized and have Comments (5)



posted by admin in Uncategorized and have No Comments

RE: Many to many relationships

>One of our development groups has a data model that includes several many to
>many relationships.  Is there a way to implement many to many relationships in
>Uniface?  What would be the  general method for setting up many to many in the
>application model?  On a screen?  What are  some of the "gotcha’s" and pitfalls
>we are likely to hit with this approach????  

Generally, many to many relationships get implemented as tables, whether
we are talking about Uniface or a RDBMS.  The nature of RDBMS relationships
is to use foreign keys to represent the link; these can only represent
1:M or 1:1 relationships.  Thus you turn a M:M relationship into two
1:M relationships, kind of like 1:M:1.

Lets say customers have a M:M relationship to contracts.  You build a
relationship table, lets say CUST_CONT, and the might look like:

Customer: ID= primary key

Contract: CONTRACT_NUM = Primary Key


These relationship tables become entities in Uniface, and may themselves
have attributes (beyond their foreign keys), for example in the able a
"expiration date" might be appropriate.  You paint them just like any other
in Uniface, so for example I could show Customer as outer with Contract as
inner by putting CUST_CONT in the middle between them.

Having said all that, please consider this constructive… If you are
working from a data model with M:M relationships, you still have some
work to do on the model before you start dealing in Uniface.  Your
conceptual data model needs to be turned into a logical or physical
model, and M:M relationships are only the beginning of what you might
need to do (e.g. you may also need to deal with attributed relationships,
multi-valued attributes, subtypes, specializations, choices, etc.; all
that must be turned into simple tables and non-attributed relationships).
Don’t do this step on the fly as you implement; make them produce a
logical data model that is approximately what the physical table structure
will look like, and work in Uniface from that.

Linwood Ferguson                  e-mail: fergu…@uvii.mag.aramark.com
Mgr. Software Engineering         Voice:  (US) 540/967-0087
ARAMARK Mag & Book Services            

posted by admin in Uncategorized and have Comment (1)

RE: Table Create Utility

>Finally I got the table create script working by exporting
>all my repository database to the server and redirecting
>$IDF,$UUU etc to the INFORMIX driver on the server through
>polyserver. The failure I had before was due to that I carelessly
>left an assignment    *.MODEL_NAME = $DB3:date\*.* in my local
>ASN file (although assignment  $DEF = $TCP precedes it.).

>Again thanks all who extended their rescuing hands.

>Oh, one more question. Can I have my repository info residing on
>my local machine (in DB3) and use INFORMIX driver on the sever
>for utility SQL script generation (e.g table creation).



"My employer wishes he weren’t"

>Ken Feng
>Blinco Systems. Inc.
>416 510-8800 ext 240
>Email: kenf…@idirect.com

Name:            Meron LAVIE
E-mail:          la…@netvision.net.il
Date (MM/DD/YY): 12/12/95
Time (GMT +2):   22:15:35
Anonymous FTP:   ftp.netvision.net.il   /home/l/lavie
Home Phone:      +972-8-431-251

posted by admin in Uncategorized and have Comments (2)

Re: USING clause in read???


> Excuse me Jan, but we are using the ‘using’ clause  with
> Sybase 4.2, and 4.9; the U2.x driver tells Sybase to use the ‘forced index
> method’ .  This means that the following SQL is
> generated, for   ‘ read using 3′ :

> select cus_num,cus_name from client(3)

There is a fine difference between ‘it is supported’ and ‘it works’. The
example above works with the SYB U2 drivers because that driver is using the
forced index method. The ‘forced index method’ is not documented nor supported
by Sybase but was implemented by Sybase to make it able for Uniface to
implement the stepped hitlist method without (sybase) cursors.

However Sybase System 10 has cursor support. The (new) SYB U3 driver makes
use of these cursors and does not use the ‘forced index method’ anymore.

The example above will fail in the next generation of Sybase drivers.

  |______|      __________________
  | (o)(o)     /   All opinions   \
 c|   ___|    / expressed are mine \
  |     _)   /and do not necessarily\                   Jan Buijtenhuis
  | ,___|   < reflect the opinions  /                   j…@uniface.nl
  | __ /     \  of the company I   /
__/ /\ \___   \     work for !    /
   /  \        \_________________/

posted by admin in Uncategorized and have No Comments