Skip to main content

Pssst, 9.5 Servicepack E102 (withdrawn) available on frontline

Author: ulrichmerkel@web.de (ulrich-merkel)

currently trouble with this patch, see the related document http://uniface.communityzero.com/uniface?go=6024728

Not reported, but available from http://frontline.compuware.com//products/uf/fixes/patchlist/patches9501.aspx

________________________________________
BUG 25147:  GRID: Paint of Grid doesn't refresh after dynamic attach to a splitbar


Description:
 When a Grid widget is dynamically attached to a splitbar the paint doesn't
 refresh (so two Grid widgets are shown). The old paint of the Grid only
 disappears after resizing with the splitbar.


Solution:
 This problem is solved.

________________________________________
BUG 28535:  Crash when combo box has a valrep of more than 149 characters


Description:
 In Uniface 9 a crash occurs when a combo box has a valrep of more than 149
 characters and a combo box value is selected in runtime. In Uniface 8 the limit
 was larger.


Solution:
 This problem is solved.

________________________________________
BUG 29116:  entitycopy: Context item in $procreturncontext returns "Invalid context action"


Description:
 When checking the Context item in $procreturncontext after executing entitycopy
 then it will return "Invalid context action" instead of "EntityCopy" (as
 documented).


Solution:
 This problem is solved.

________________________________________
BUG 29153:  $clock/$date/$datim do not set $procerror


Description:
 When these functions are called, the return value can be checked. If the value
 is empty, the following procerrors should be returned:
 $date  = -1004 (Date not valid)
 $clock = -1005 (Time not valid)
 $datim = -1006 (Datetime not valid)$procerror is not set by the functions
 $clock, $date and $datim . In case $procerror is set before one of the
 mentioned functions is executed then it will not set the appropriate Proc error
 if an error occurs.

 This problem can be replicated with any Uniface version.

 For example: if an invalid argument is passed to $date, i.e. "myDate =
 $date("15/15/2010")", then $date will return an empty string and $procerror is
 again -50 - it however should return in this case -1004 (UPROCERR_DATE; "Not a
 valid Date value.").


Solution:
 This problem is solved.

________________________________________
BUG 29193:  $replace does not reset $procerror to in case of success


Description:
 The Proc function replace does not reset $procerror to 0 in case it
 successfully could replace the specified substrings of a string.

 Consider the following Proc:

 $1 = $replace("a,b,c", 1, "", ";", -1)
 $1 = $replace("a,b,c", 1, ",", "", -1)

 The first line of Proc will return an error since the SearchFor parameter is
 empty and $procerror is set to -1118 (meaning: "The argument specified is
 incorrect."). But when the second line of Proc (which is valid and will remove
 all commas from the string "a,b,c") is executed then $procerror still return
 -1118.

 So in case the Proc error of each $replace statement is checked if it's <0 then
 this could trigger incorrect error messages.

 Expectations: $procerror should return 0 when $replace was successful.


Workaround:
 Apply reset $procerror to reset the $procerror to 0 before each Proc function,
 in case the Proc error of each Proc function execution is checked if it is <0.
 For instance,
  reset $procerror
  $1 = $replace("a,b,c", 1, "", ";", -1)
  if ($procerror<0)
    ;...
  endif
  reset $procerror
  $1 = $replace("a,b,c", 1, ",", "", -1)
  if ($procerror<0)
    ;...
  endif


Solution:

 see the doc updates in the liabrary.

________________________________________
BUG 29223:  Performance problem on Solaris when using DLM 4.3 (or higher)


Description:
 When Uniface version 9.3 or 9.4 is using DLM 4.4.7 (or higher) on Sun SPARC
 Solaris 9 or 10 then the performance (of an application) is significantly lower
 compared to when an earlier version of DLM is used (e.g. 4.2.7).


Workaround:
 The described problem can be solved by setting and exporting the environment
 variable:
 
 LD_PRELOAD_64=libmalloc.so
 
 in the Uniface environment - make sure that libmalloc.so can be found in the
 search path or specify the full path where it's located (e.g.
 /usr/lib/sparcv9/libmalloc.so).
 
 Please note that if no specific environment is being set up for userver (by
 means of the login profile or a wrapper script), the variable has to be set and
 exported in the environment of the urouter so that it is inherited by all
 userver processes.
 
 For a detailed explanation, see the following article on the Oracle Sun support
 site:
 "Threaded applications making heavy use of the memory allocator may scale
 poorly [ID 1018822.1]"


Solution:
 This problem is solved.

________________________________________
BUG 29254:  Syntax Auto jump does not work using Grid Widget on Japanese Windows.


Description:
 In Uniface 9.4.01 on Japanese Windows the field syntax Auto jump (JMP) does not
 work using the Grid Widget. Using a normal entity or English Windows, the
 autojump works fine.


Solution:

 Auto Jump field syntax (JMP) has never worked before for the grid widget when
 NLS setting in the [uniface_dlls] section of INI file is configured as Japanese
 (JPN), Chinese (CHIB or CHIZ) or Korean (KOR). After this fix it will be
 working so that if you expect AutoJump is always OFF on Asisan environment, it
 could be a surprise.

 Please note that the maximum field length is counted in character. For example,
 C10 field will jump to the next field when you enter 10 characters, but C10 is
 able to store only 10 bytes. On Japanese environment you can enter 10 Japanese
 characters in the field but cannot jump or leave the field because 10 Japanese
 characters have more than 10 bytes. If you enter 10 characters into the field,
 use W10 field interface.

________________________________________
BUG 29265:  Executing $rscan back to back or after $scan is causing a crash


Description:
 When the Proc function $rscan is executed back to back or right after the
 function $scan then under specific circumstances Uniface will crash.

 Consider the following scenarios:

 1. $rscan back to back:

    $1 = $rscan ("The quick brown fox", "quick")
    $2 = $rscan ("The quick brown fox", "fox")

 2. $rscan after $scan

    $1 = $scan ("The quick brown fox", "quick")
    $2 = $rscan ("The quick brown fox", "fox")

 In case the above Proc is placed in the Execute trigger of a component a crash
 can be replicated. The problem does not occur when (for example) a putmess
 statement is executed first or between the two functions. The mentioned issue
 also does not occur when the Proc is placed in (for example) the Detail trigger.

 The crash also cannot be replicated in case the beginning of the source
 parameter value of the $rscan/$scan function is different. For example:

 1. This will cause a crash:

    $1 = $scan ("The quick brown fox", "quick")
    $2 = $rscan ("The quick brown fox123", "fox")

 2. This will work correctly:

    $1 = $scan ("The quick brown fox", "quick")
    $2 = $rscan ("123The quick brown fox", "fox")


Solution:

 The bug has been fixed.

________________________________________
BUG 29266:  Duplicate error when saving process package


Description:
 In Uniface flow 9.4.01 when saving a process package after a consistency check
 a duplicate error occurs if one task has been assigned to All Actors in Unit.


Solution:

 This problem is caused by the fact that Flow assumed that an assignment rule
 returns a specific Actor not more than once, but some assignment rules may
 return the same actor multiple times.

 This problem is solved.

 NB: this bug had the same symptoms as b29500 (fixed in the same patch) but has
 a different cause.

________________________________________
BUG 29268:  $nls_locale with numeric fields, getlistitems, putlistitems and putmess


Description:
 In Uniface 9.4.01 when using the asn setting $nls_locale (for instance with
 value de_DE) incorrect results are returned or displayed when used for numeric
 fields in combination with getlistitems, putlistitems, putmess and the
 debugger. In the examples below F1 is a numeric N7.3 field with display format
 DIS (-zz9P999) format and is given the value of 8.270 which is correctly shown
 of the form as 8,270. TEST129634 is the name of the model entity used.

 1)
 occ_list="PK=27;F1=8.271"
 getlistitems/occ occ_list, "TEST129634"

 and

 2)
 putlistitems/occ occ_list, "TEST129634"
 getlistitems/occ occ_list, "TEST129634"

 give strange results when displayed on the form. 1) displays *8271* and 2)
 displays 827,000 instead of the expected 8,270. Also putmess returns 8.270
 instead of 8,270 in teh messageframe and the same applies when looking at the
 value in the debugger.


Solution:
 This problem is solved.

________________________________________
BUG 29273:  Executing macro "^REM_SELECT" might cause crash on Windows Vista/7


Description:
 Uniface will crash under specific circumstance in case selected text is removed
 from a Unifield when using the Structure Editor Function ^REM_SELECT (by
 executing  'macro "^REM_SELECT"').

 Consider the following scenario:

 * on a form a unifield is painted that is 10 cells wide and 1 high.
 * the following text is assigned to the field:

   "12345 123456 12345678 123456789 1234567890 123456 12 "

 * the content of the field is then removed ("word" by "word") from the end
 using the following Structure Editor Function sequence that is executed (for
 example) in the Detail trigger of the field:

   macro "^PREV_WORD^SELECT^NEXT_WORD^REM_SELECT"

 => After pressing the Detail trigger for about 5 times Uniface will crash

 The above described problem can only be replicated on Windows Vista, Server
 2008, 7, and Server 2008 R2. Until now it could not be reproduced on older
 Windows versions, like for example Windows XP or Server 2003.

 And the issue only occurs when using Uniface 9.2.03 + O311 (and higher),
 version 9.3.02 + P210 (and higher), or version 9.4.01 + R101 (or higher).


Solution:

 Crash doesn't occur anymore.

________________________________________
BUG 29278:  Hourglass persists when clicking on a hyperlink that triggers a print.


Description:
 In Uniface 9.4.01 the hourglass persists when clicking on a hyperlink that
 triggers a print. This is not the case when a print is triggered by the detail
 trigger of a command button.


Solution:
 This problem is solved.

________________________________________
BUG 29281:  UF94: Changing Proc in Proc Editor Zoom Window stops working in some cases


Description:
 Under specific circumstances it is not possible anymore to change Proc code in
 the Zoom Window of the Proc Editor. The problem usually occurs when performing
 the following actions in the Zoom Window:

 * Copy (using the key combination Ctrl+C)
 * Paste (using the key combination Ctrl+V)
 * Find and Replace All (using the key combination Ctrl+H)

 Consider the following scenario:

 1. In the Proc Editor of the Component Editor open any trigger of a component
 2. Add a new Proc statement (for example show) and copy it (Ctrl+C);
    Or select an existing line of Proc and copy it
 3. Paste the copied Proc statement into a new line (Ctrl+V)
 4. Do "Find and Replace" (Ctrl+H)
    4a. In the Replace Dialog Box search for ("Find what") a Proc statement that
 exist at least twice in the Trigger (e.g. show)
    4b. Enter something for "Replace with" (e.g. putmess "TEST")
    4c. Press "Replace All"

 => The affected Proc is (at first glance) replaced and immediately undone again

 => After closing the Replace Dialog Box it's not possible anymore to change any
 Proc in the Zoom Window.

 The above described problem only occurs when using the Zoom Window of the Proc
 Editor of Uniface 9.4.01. It cannot be replicated with earlier versions.


Solution:
 This problem is solved.

________________________________________
BUG 29282:  Uniface 9 View Listing twice as slow as in Uniface 8


Description:
 In Uniface 9 View Listing seem to take twice as long as in Uniface 8.
 This is very noticeable when the listing is large.

 For a 3Mb file the figures for View Listing are:

                  Uniface 9    Uniface 8
 ---------------------------------------
 procbox=on       20-30 sec       12 sec
 procbox=off         12 sec        9 sec

 When procbox=off then showing the listing is much faster.
 Proc syntax coloring seem to take much time.


Solution:
 This problem is solved.

________________________________________
BUG 29283:  Certain jpg images not displayed in Uniface Nine


Description:
 Certain jpg images not displayed in Uniface Nine
 This problem occurs in Uniface Nine.
 The same image displays well in Uniface Eight.
 When the image is stored using Uniface Nine the stored value is correct: The
 image displays well retrieved with Uniface Eight.
 When such an image is stored with Uniface Eight and retrieved with Uniface Nine
 the image is not displayed.


Solution:
 This problem is solved.

________________________________________
BUG 29287:  Uniface might hang or crash in case splash screen is enabled.


Description:
 Uniface might hang or crash under specific circumstances in case the
 application splash screen (logo) is not disabled.

 This issue can be replicated (for example) when on Windows 7 (or Windows Server
 2008 R2) a Visual Basic 6 ActiveX User Control is instantiated in the Uniface 9
 OCX Container and logotime is set to >= 0. In case logotime = off then the
 instantiation of the OCX control is working without any problems.

 This problem also has been reported when certain Windows kernel level filter
 (like for example a Virus Scanner) are used. In one specific case a customer
 reported a hang problem with Uniface 8.4 on a Citrix system that also had the
 Appsense Application Manager 7 (kernel level filter driver that provides rules
 based access permissions) installed. Together with the 3rd party (Appsense) it
 was concluded that the splash screen (logo) thread is causing a race condition
 with certain modules of the Appsense Application Manager. The problem did not
 occur when the splash screen thread was disabled (by setting logotime = off).


Workaround:
 Two ways:
 
 1.Switch off the logotime by assigning off.
 
 2. Changing the threading model of the User Control from "Single Threaded" to
 "Apartment Threaded". When creating an ActiveX User Control in Visual Basic 6,
 the project properties have a "Threading Model" setting which provides two
 thread models, Single Threaded and Apartment Threaded.


Solution:

 This issue is resolved by a setting LogoSync=on in the .ini file. This is a new
 initialization setting, which determines whether the logo screen and the
 Uniface application are launched in parallel or in sequence.

________________________________________
BUG 29295:  Print and print/preview not RTL in Hebrew


Description:
 In Uniface 9.4.01 the print and print/preview is not RTL on Hebrew Windows. It
 was working correctly in previous Uniface versions 6, 7 and 8.


Solution:
 This problem is solved.

________________________________________
BUG 29303:  Sort statement, without entity specified, crashes Uniface.


Description:
 Sort statement, without entity specified, crashes Uniface.

 According to the documentation there should be an entity specified, but the
 compiler gives no warning or error message when the entity specification is
 missing.

 Uniface 9.3 doesn't crash, but Uniface 9.4 and 9.5 crah.


Workaround:
 Explicitly activate an entity using proc code, before the sort calling. Ex.:
 setocc "SALES" , 1


Solution:
 This problem is solved.

________________________________________
BUG 29304:  Uniface does not check syntax of accelerator key settings defined in INI


Description:
 When reading the accelerator key settings from the INI file (section
 [accelerators]) then Uniface does not check if the syntax of the accelerators
 is correct.

 For example, the following keystroke combination (accelerator) contains a typo
 (instead of "Ctrl" "Crtl" is defined):

 fileopen=Crtl+O

 Uniface will not complain about this mistake and it will assign the accelerator
 "O" to the logical (menu) function. This means that every time the user will
 type an O the File Open dialog box will be shown.

 Expectation: Uniface should throw an error or warning in case the syntax of an
 accelerator is incorrect and no keystroke combination should be assigned to the
 related logical (menu) function.


Solution:

 Enhancement to return the error report such as "Accelerator key Crtl+O for
 fileopen is not valid." in the transcript log by invalid key in the
 [accelerators] section of ini file and no key is registerd as the accelerator
 in that case.

________________________________________
BUG 29305:  UPOPMAIL Sendmail should use fully qualified hostname in SMTP dialog


Description:
 When you send a mail using UPOPMAIL, Uniface issues a HELO command with just
 the hostname as argument. This has worked so far, but it's not actually correct.
 The RFC says we must use a fully qualified hostname, or if that is not
 available, the IP address. Actually, some SMTP servers actively reject a non-
 qualified hostname:

 UPOPMAIL: <D0> SENDMAIL: Got reply on rcpt to command, code: 504, reply:
 <FINANCESERVER>: Helo command rejected: need fully-qualified hostname


Solution:
 This problem is solved.

________________________________________
BUG 29306:  Menu accelerators not working when mouse cursor is hovering over header button


Description:
 The menu accelerators do not work - the assigned menu item is not selected -
 when the mouse cursor is hovering over a Command Button with the Representation
 Header.

 The above described problem cannot be replicated in case a Command Button is
 using any other Representation.


Solution:
 This problem is solved.

________________________________________
BUG 29307:  Header Button remains highlighted under specific circumstances


Description:
 When the mouse cursor hovers over a command button of type Header then the
 button is highlighted - the apperance of the highlighting depends on the active
 Windows Visual Theme. But under specific circumstances the highlighting does
 not disapear when the mouse is moved away from the button. The problem most
 likely occurs when the user moves the mouse cursor and Uniface is not idle.

 Consider the following scenario:

 * the Detail trigger of a Command Button with Representaion Header contains the
 following Proc:

   Sleep 500

 * the user moves the mouse cursor so that it hovers over the Header button

 => the button is highlighted

 * the button is pressed
 * while Uniface is still "sleeping" the mouse is moved away from the button

 => once Uniface is idle again the button will remain highlighted

 The above described issue does not occur when the command button is not of type
 Header. The problem also does not occur in case the Detail trigger of the
 Header command button is activated by keyboard instead with a mouse click.


Solution:
 This problem is solved.

________________________________________
BUG 29308:  Tree needs a second click on expand after bug fix 25991


Description:
 A second click on an expand button is needed when the clicked node in the  tree
 is an incomplete node. This problem is comparable with the bug fix for 25991
 however not related. The problem can be reproduced in older Uniface versions as
 well.

 When the user clicks on the expand button of an incomplete node, the tree
 control sends a TVE_EXPAND message to the window procedure. At this point the
 extended trigger is called. Since there are no child nodes nothing happens in
 the tree. UNIFACE updates the tree valrep, however no expansion happens after
 this.


Solution:
 This problem is solved.

________________________________________
BUG 29311:  R114: if/elseif statement that is > 2KB causes crash


Description:
 After installing the version 9.4.01 patch R114 (or higher) if/elseif statements
 that are > 2KB cause a crash. It hereby does not matter how many conditions are
 used, but it's the total length of the Proc line that counts. The same
 if/elseif statements work without any problems with lower patch levels (for
 example 9.4.01 plus R113) or previous releases (for example Uniface 9.3.xx).

 Consider the following scenario:

 The following if statement is > 2KB (the fields v_04.dummy till v_104.dummy are
 not explicitly mentioned):

 if ( %\\
 v_00.dummy != "" | v_01.dummy != "" | v_02.dummy != "" | v_03.dummy != "" | %\\
 ; [...]
 v_105.dummy != "" | v_106.dummy != "" | v_107.dummy != "" %\\
 )

 When this if statement is executed then a crash will occur.


Solution:
 This problem is solved.

________________________________________
BUG 29313:  R106: First field of Grid might be overlaid by window background color


Description:
 Under specific circumstances the first field of a Grid is overlaid by the
 Window Background Color and the field content is not visible anymore. This
 problem can be replicated in case

 1. The first field of the Grid is NED (non-editable),
 2. The background color is set in the Execute trigger by $windowproperties
 3. The Grid widget property Selectable is enabled

 On focus change (when leaving the field or just resizing the form), the field
 content becomes visible again.

 The above described problem can be replicated when using Uniface 9.3.02 + P215
 or version 9.4.01 + R106 (and higher). The issue cannot be reproduced when
 using a lower patch level (than the previous mentioned) or an older Uniface
 release. THe problem also does not occur when Selectable=off.


Workaround:
 Add a show statement in the Execute after $windowproperties has been set and
 before the edit statement.


Solution:
 This problem is solved.

________________________________________
BUG 29317:  V9: $ltrim might loop when using syntax code that matches 0-n characters


Description:
 Under specific circumstances Uniface 9 will go into an infinite loop when the
 Proc function $ltrim is executed. This is the case if the syntax code in the
 Pattern parameter is matching 0-n characters (for example '#*', which is
 matching 0-n digits) and the Source string only contains characters of the same
 type as specified in the syntax code.

 For example:

 vTarget = $ltrim("123", '#*')
 ; vTarget should have the value "" after executing the above statement
 ; But Uniface will loop indefinitely

 In case the function $rtrim is used in the above example then everything works
 as expected. For example:

 vTarget = $rtrim("123", '#*')
 ; vTarget has the value "" after executing the above statement

 And if the source string also includes other characters then specified in the
 syntax code then $ltrim also works correctly. For example:

 vTarget = $ltrim("123A", '#*')
 ; vTarget has the value "A" after executing the above statement

 This problem does not occur in earlier Uniface version, like for example
 version Uniface 8.4.06.


Solution:

 Bug has been fixed.

________________________________________
BUG 29319:  Selecting item from certain dropdownlist on DSP using Firefox fails since R115


Description:
 Selecting an item from certain dropdownlist on DSP using Firefox fails since
 R115.

 When the dropdownlist displays downwards selecting an item fails.
 When the dropdownlist displays upwards selecting an item does work.
 This problem does not occur using other browsers like IE8 or Chrome.


Solution:
 This problem is solved.

________________________________________
BUG 29321:  Unicode string parameter of OCX Event not correctly passed to Extended Trigger.


Description:
 In case an Event of an OCX control is passing an Unicode String parameter then
 the data is not correctly received (is garbled) in the Extended Trigger of the
 OCX Container Wi

Be the first to reply!