Changes in $status and if-statement?

Author: sven.hedqvist@gmail.com (Sven_Hedqvist)

We are currently working on migrating from Uniface8 to 9 and during our testing I stumble upon this:

In Uniface 8 the following behaviour was true: a global or local function returning a boolean true in an if-statement did not effect $status. An example

$status = 0
if (gf_return_bool(inparam))
; $status is still 0
endif

In Uniface 9 the following behaviour is true: a global or local function returning a boolean true in an if-statement WILL effect $status. An example

$status = 0
if (gf_return_bool(inparam))
; $status is 1
endif

Has anyone else had problems with this and know a way of not getting the behaviour we see in Uniface 9. If we cannot get the behaviour of Uniface 8 we are facing some serious work of making sure this doesn't cause any serious problems.

// Sven Hedqvist

3 Comments

  1. Hello Sven,

    It did some tests and the described problem seems to be a side-effect of a bug fix that has been introduced in the version 9.2.03 patch O304 and the version 9.3 Service Pack MP01 (which increases the minor release version to 9.3.02).

    Please log a call for this issue with Customer Support and it will be taken care off.  You can submit your calls through Frontline (http://frontline.compuware.com/apps/calllogin/UF.aspx) or send an email to Uniface Customer Support at uniface.technical.support@nl.compuware.com.

    Hope this helps.

    Best regards,
    Daniel


    Author: diseli (daniel.iseli@uniface.com)
  2. So the bugg has existed for some time?

    And exactly wich bugg are we talking about? Is it http://frontline.compuware.com/products/UF/fixes/buglist/28132.aspx  ?


    Author: Sven_Hedqvist (sven.hedqvist@gmail.com)
  3. Yes, that's correct, it's a side-effect of the bug fix 28132.

    Best regards,
    Daniel


    Author: diseli (daniel.iseli@uniface.com)