Uniface Client Server App Development

uniface software, uniface technology, uniface project, uniface forum

Archive for October, 2011

[U-L] Session Panels

How do I get session panels to work? My panel works correctly if specified
on a form, but specifying it in the Startup Shell editor has no effect.

Tracy Hartley
Software Engineer
Aerosystems International

posted by admin in Uncategorized and have No Comments

[U-L] Sync of DB image and Uniface Cache image


For various reasons, we wish to attach a database level trigger (stored
Oracle procedure) to a table that updates data in a number of columns.  This
trigger fires as a result of Uniface writing data to the table.

Unfortunately this causes the record image at the database level to be
different from the cached image held in the Uniface session.  The result is
the standard "Occurrence does not match database…" message in Uniface.

The data changed by the database trigger is not used by the Uniface

Does anyone know how this "sync" problem can be fixed without performing a
re-retrieve in Uniface?  We are trying to avoid any changes to the
application in Uniface.

For other purposes, we have custom written a database driver that "wraps"
the standard Uniface Oracle driver.  Maybe we could amend the record image
on the way back to the Uniface session?  Has anyone tried this?

Any help, random thoughts, would be gratefully received.


IMDS Program, U.S. Airforce

posted by admin in Uncategorized and have Comments (3)

Tree widget PROBLEM


How to link a tree widget with a table so it automatically updates your
tree, derives parents and childs????


posted by admin in Uncategorized and have Comment (1)

Migration problem

Hallo everbody,

I have come accros a strange behaviour after migrating from uniface 7.2.03
to 7.2.04.
I have installed uniface 7.2.04 with S402, W441, W454 and W455.

I analyzed all Models and I did a compile /all.

One of my forms forced uniface.exe to crash in the read trigger after the
read statement without
having the chance to see any return-codes. The uniface task is just closing.

After doing some investigation, I found the following:

When compiling the form with the generate info messages switched on, I found
in the line where the subsettings of tables is written a reference to a
field that is not defined in
the model. This field was part of the table in a earlier version but it has
been deleted.

I have checked the table ucfield but there is no entry with this fieldname.

It looks if we have some unnecessary entries in the dict from earlier
versions that uniface has ignored bevor
version 7.2.04.

How can I get rid of the field that should not be in the list after
and have you come across simalar problems.
Is there a general solution to check a dict and to delete unnecessary


posted by admin in Uncategorized and have Comments (4)



Uniface 7 has a new ODBC driver which uses the polyserver, has anyone tried to use this with an AIX host with CISAM database?

How does the ODBC see the tables and fields? does it read the IDF repository?


Rob Cooper

posted by admin in Uncategorized and have Comments (2)

[U-L] Antwort: Re: SPAWNing with and without '#'.


to execute an asynchronous process on Unix:
put an amphersand (&) after the command like e.g.


posted by admin in Uncategorized and have No Comments

Re: [U-L] UNIFACE or VB?

Uniface enjoys a leadership position against VB.  Consider the following:
1.  Uniface is repository based.  VB is not.
2.  Uniface is available on wide variety of platforms.  VB is available only
on Windows platform.
3.  A necessary condition for VB is to have ODBC support.  Uniface can work
with both ODBC as well as native drivers.
4.  Uniface handles your hit list automatically.  To change the size of
hit-list (i.e. number of records retrieved at a time from the database),
simply change a line in assignment file.  You code this in VB.
5.  Uniface generates stored procedures for you whereas in VB you end up
coding yourself.
6.  If you are interested, you can write your own stored procedures and call
them from Uniface just like any other language (VB, etc.)
7.  Uniface lets you use OCX controls and OLE objects in your application.
8.  Uniface provides you with 3GL API just like any other language.
9.  Coding is much simpler in Uniface.  The steep learning curve is not due
to complexity of the tool/language.  It is the time you take to find a right
place for the right piece of code in triggers.
10.  Uniface is a specialized tool for the development of Business
applications.  VB is a general purpose tool for ‘anything’.
11.  Due to higher productivity and ease of maintenance, clients are prepared
to pay more for Uniface.  (Read Uniface success stories at
www.compuware.com).  Anyone can learn VB in 24 hours.  With VB, you end up
competing with someone much less qualified and experienced than you dropping
your earning prospects.
12.  Just like any other tool, there are people who love Uniface and those
who hate it.  The decision is yours to make keeping in mind the above facts.

Shreyas Joshi

***  These are my views and not that of my current or past employers ***

posted by admin in Uncategorized and have No Comments

MS Access and RWI

Is it possible, to create a Connection from MS
Access with RWI (Report Writer Interface) to a
Server-Database like Oracle or RDB.
The steps are described in:
I get the following error messages:
8063-Request not processed due to previous
network error.

Bernd Morauf
InfraServ Höchst

Sent via Deja.com http://www.deja.com/
Before you buy.

posted by admin in Uncategorized and have No Comments

[U-L] AW: Logical printers

Hi Madhu,

I evaluated the use of logical printers some time ago and found it to be a
quite good way to define different printers for one Application

The only thing you have to learn is to handle the registry entries for the
printer definitions, but this shouldn’t be too difficult.

These entries are placed in a tree named like the INI-File you’re using.
UNIFACE stores among other things two important registry entries for each
logical printer, namely DEVNAMES and DEVMODES, which are (as far as I’ve
seen) standard printer descriptors for windows.

Beware that the place where the logical printer definition was stored in the
registry changed somewhere between 7.202 and 7.204 (Every application
migrating from 7.202 to 7.204 had to redefine the logical printers :-( )

Maybe one day someone will create a little tool to manipulate these settings
from outside UNIFACE – that would be very useful to setup different PC’s.

Good luck,
Von: Augustine, Madhu
An: unifac…@uug.org
Gesendet: 27.10.99 16:05
Betreff: [U-L] Logical printers


Is anybody using Logical printers in Uniface 7? Any comments (especially
about the setup on each client PC) ?



The show must go on…


posted by admin in Uncategorized and have No Comments

[U-L] AW: More problems with mschrt20.ocx

Hi Vincent,

you finally run into the last and in my opinion most serious problem about
using OCX’s in UNIFACE.

Most of the Microsoft OCX’s (and many others, too) are *licensed*. There are
two types of licenses: Runtime and Development license. The runtime license
is hardcoded in the control (If you build a control using Visual Basic, you
can set the property "license required", for example). The Development
license is stored in the registry.

The control does two things if it’s called. First it checks wether it was
called with the correct license key given by the calling application as a
parameter(runtime license). If this fails it looks into the registry for the
development license. If this fails too, an error is produced, and the
control does not show up (this is, what happens on your client PC)

If you build an Visual Basic Application which uses one of these licensed
controls, Visual Basic knows that this control needs a license and
integrates it into the application. The application initializes the control
now with the correct license key.

UNIFACE can’t do this. The OCX license is not integrated into the UNIFACE
application. Therefore the control looks for the development license, which
isn’t installed on your client PC’s.

You see, you really have a problem now :-(

I’m really unhappy about the fact, that Compuware does not even mention
these problem. Instead they give you with a list of working and "recommended
to use" OCX- Controls. Some of these recommended controls can’t be used on a
"non-development" PC and they don’t loose a word about it.

I took me a really long time to figure out why my controls did not work,
without any constructive help of Compuware Support (the only thing they
could say was: "Use REGSVR32.EXE")

Even worse: After telling them the cause of my problems they really
suggested to install Visual Basic on the client PC’s (really "funny",

What to do next? I really have no answer…

Good luck,

Von: Vincent Brindle
An: Uniface List (E-mail)
Gesendet: 27.10.99 11:27
Betreff: [U-L] More problems with mschrt20.ocx

I finally got the Chart working in Uniface 7.2.04 and is fine, but I
now come across another problem.

When I run the forms on different machines they get the message "7037 –
Cannot create OCX Control" which I looked up on the website. It is
me that the ocx is not installed correctly.

I have tried copying the ocx across then registering it with regsvr32
indicated that it was successful, but still get the same message with
Uniface. I have also tried re-installing Uniface including the OCX
and still no luck.

I think it might be something to do with Visual Studio 6 why it works on
machine, but I don’t want to go round installing that on all our client

Does anyone have any ideas?


Vincent Brindle
PSE Ltd.
vbrin…@psesoft.com <mailto:vbrin…@psesoft.com>

posted by admin in Uncategorized and have No Comments