[SOLVED] Missing Buttons in Debugger 9.7.01 when started from runtime uniface.exe

Author: martin.decker@11er.at (mdecker)

When I start debugger from runtime uniface.exe and open debugger preferences, the buttons "Add" "Remove", "Update", "Update Default Apply"  "Apply Default"  do not show correctly. They are in a white area with black text instead of Blue/White Clickable buttons.   Any idea? Screenshot: https://drive.google.com/a/ora-solutions.net/file/d/0B_d8Sdgtmy-raThoZzdSQmw2WkE/view   Regards, Martin

9 Comments

  1. I found the issue: These properties have been missing in common\adm\usys.ini:   ; Logical widgets Uniface 9.7: ; Note: These widgets cannot be used from the Uniface development environment. IDFSpeedSearch=ueditbox(font=editfont;onedit=T) IDFTextCell=ueditbox(font=editfont) IDFButtonBottom=ucmdbutton(representation=Uniface;cursor=uhand;frametype=off;font=IDFButtonText;labelfont=IDFButtonText;backcolor=#01A7E1;backcolorselect=#97D5EC;backcolorhover=#55C1E8;backcolorfocus=#0084CC;forecolor=white;forecolorselect=black;vsize=80;autolabel=F;position=center;valign=center) IDFButtonSide=ucmdbutton(representation=Uniface;cursor=uhand;frametype=off;font=IDFButtonText;labelfont=IDFButtonText;backcolor=#01A7E1;backcolorselect=#97D5EC;backcolorhover=#55C1E8;backcolorfocus=#0084CC;forecolor=white;forecolorselect=black;vsize=80;autolabel=F;position=top) IDFButtonHeader=ucmdbutton(representation=Header;cursor=uhand;halign=left;valign=center;font=label) IDFButtonImage=ucmdbutton(representation=Uniface;cursor=uhand;frametype=off;transparency=T) IDFButtonSpecial=ucmdbutton(representation=Uniface;cursor=uhand;frametype=off;font=IDFButtonText;labelfont=IDFButtonText;backcolor=#01A7E1;backcolorselect=#97D5EC;backcolorhover=#55C1E8;backcolorfocus=#0084CC;forecolor=white;forecolorselect=black;vsize=80;POSITION=CENTER) IDFOpenProfile=ueditbox(frame=T;font=editfont;autoselect=on;dimmedbackcolor=off;dblclk=detail;multiline=F)   Issue is resolved.   Best regards, Martin


    Author: mdecker (martin.decker@11er.at)
  2. Hi Martin, Did you by any chance install Uniface 9.7, but used a usys.ini from a pre- 9.7 Uniface? Because the missing part seem to be the IDF related settings that were added in the 9.7 usys.ini. This is also explained in my Lecture on Uniface 9.7 Modernization, starting at 5:56 (Apparantly I'm not able to link directly from that timestamp). Cheers, Arjen


    Author: Arjen van Vliet (arjen.van.vliet@uniface.com)
  3. Hi, I had the same problem with my Uniface 9.7 installation, so Uniface seem to leave this out from the mentioned usys.ini. "uniface\adm\usys.ini" does use it. Regards RogerW.


    Author: rogerw (roger.wallin@abilita.fi)
  4. I had the same issue....even opened up a support call on it and now I have an answer for the IDF missing buttons issue as well as the missing buttons in the debugger. I first made the suggested changes to the common\adm\usys.ini but it wasn't until I made the same changes to the uniface\adm\usys.ini that it made a difference. Of course, I don't use the \adm switch in any of my icons so the default (I'm guessing) is the uniface\adm\usys.ini if nothing is specified. I guess I can close my support call now and move on with 9.7 deployment. Something should really be added to the documentation about this in the section --> Uniface 9.7: Changes in Configuration Settings. I will hit the link at the bottom of the help file and send in a suggestion to make an update, but also take this suggestion here as I type since I'm pretty sure we're not the only ones that will run into this.

     


    Author: adkinsl (adkins.larry@gmail.com)
  5. We had the same problems, it isn't good described in the migration from 9.6 to 9.7. Also I had troubles with the virtual store, the usys.ini was also available in the virtual store and Uniface took that file and not the one under program files.


    Author: Stijn Courtheyn (stijn.courtheyn@xperthis.be)
  6. mdecker said I found the issue: These properties have been missing in common\adm\usys.ini:   ; Logical widgets Uniface 9.7: ; Note: These widgets cannot be used from the Uniface development environment. IDFSpeedSearch=ueditbox(font=editfont;onedit=T) IDFTextCell=ueditbox(font=editfont) IDFButtonBottom=ucmdbutton(representation=Uniface;cursor=uhand;frametype=off;font=IDFButtonText;labelfont=IDFButtonText;backcolor=#01A7E1;backcolorselect=#97D5EC;backcolorhover=#55C1E8;backcolorfocus=#0084CC;forecolor=white;forecolorselect=black;vsize=80;autolabel=F;position=center;valign=center) IDFButtonSide=ucmdbutton(representation=Uniface;cursor=uhand;frametype=off;font=IDFButtonText;labelfont=IDFButtonText;backcolor=#01A7E1;backcolorselect=#97D5EC;backcolorhover=#55C1E8;backcolorfocus=#0084CC;forecolor=white;forecolorselect=black;vsize=80;autolabel=F;position=top) IDFButtonHeader=ucmdbutton(representation=Header;cursor=uhand;halign=left;valign=center;font=label) IDFButtonImage=ucmdbutton(representation=Uniface;cursor=uhand;frametype=off;transparency=T) IDFButtonSpecial=ucmdbutton(representation=Uniface;cursor=uhand;frametype=off;font=IDFButtonText;labelfont=IDFButtonText;backcolor=#01A7E1;backcolorselect=#97D5EC;backcolorhover=#55C1E8;backcolorfocus=#0084CC;forecolor=white;forecolorselect=black;vsize=80;POSITION=CENTER) IDFOpenProfile=ueditbox(frame=T;font=editfont;autoselect=on;dimmedbackcolor=off;dblclk=detail;multiline=F)   Issue is resolved.   Best regards, Martin

    Just some background info and remarks: The mentioned properties are not really missing in the usys.ini in \common\adm. It's just that by default the Uniface Debugger (like the IDF) needs the correct adm directory in order to work properly (which is the the usys.ini in \uniface\adm). Since version 9.4 Uniface has a /adm command line switch for specifying the required adm directory:

    "The Uniface installation has an adm directory in both the \common and \uniface subdirectories. To ensure that the correct configuration files are used, each Uniface application, such as the Development Environment, must be started with the /adm switch to set the correct context." More info can also be found in Uniface Library topic "Uniface 9.4: Uniface Product Integration" (under "What's New in Uniface 9.4"). So strictly speaking this is not a change that just has been introduced in version 9.7, but this is already in the product for some time. It is, however, correct that in Uniface 9.7 it's now even more important to specify the correct adm directory at startup (than it was in previous versions). In case an application is using a completely different adm directory than the one used by the Development Environment or the Debugger then some tweaking is indeed required. It is (e.g.) possible to make a copy of \uniface\adm\usys.ini and place it under the name udbg.ini in \common\adm. This will make sure that the Debugger will run correctly even when the application does not use the (intended) "default" adm directory. In case no adm directory is specified then Uniface will look for it in the same directory as the bin directory (with the Uniface binaries and libraries/DLLs) resides in (e.g. \common\bin and \common\adm). Hope this helps. Best regards, Daniel Iseli Uniface Support


    Author: diseli (daniel.iseli@uniface.com)
  7. stcourth said Also I had troubles with the virtual store, the usys.ini was also available in the virtual store and Uniface took that file and not the one under program files.

    This is not something Uniface is doing, but this is just how Windows is (currently) working. In case a process is trying to change a file in a "protected" directory (e.g. %ProgramFiles(x86)% or "C:\Program Files (x86)") and it does not have elevated rights (Admin permissions) then Windows will not throw an error, but store the changes in the Windows Virtual Store (e.g. "%USERPROFILE%\AppData\Local\VirtualStore\Program Files (x86)\"; C:\Users\UserName\AppData\Local\VirtualStore\Program Files (x86)\). The "problem" with the Virtual Store is that only the user that has made these changes can "see" them - another user might have his own copy in his Virtual Store or will just simply read the unchanged file from its original location). The same can happen when making changes to the registry (that is outside of the user registry branch; e.g. HKEY_LOCAL_MACHNE); e.g. when running the Uniface COM configuration tool (uComCfg.exe) not as Admin. The registry also has a Virtual Store that is located under HKEY_CURRENT_USER (see HKEY_CURRENT_USER\SOFTWARE\Classes\VirtualStore). There are several ways to avoid that changes are stored in the Windows Virtual Store:

    • Run Uniface as Admin (with elevated rights); probably not really desired
    • Make sure that a (normal) user has write permissions for the files/directories (e.g. uniface\adm or uniface\adm\usys.ini)
    • Move the adm directory somewhere where all the users have write permissions (and use the /adm switch to set the "updatable" adm directory
    • Install Uniface in a directory that is not "protected" by Windows (e.g. C:\Uniface)

    Hope this helps.


    Author: diseli (daniel.iseli@uniface.com)
  8. Being able to make changes to the ini-file without destroying the default usys.ini file, we always make a copy of the ini file and start our applications with the copied usys.ini file using "/ini=". This time our problem probably was that the usys.ini file was copied from "\common\adm". When is "\common\adm\usys.ini" used and are there large differences to "\uniface\adm\usys.ini"Surprised? Regards RogerW.


    Author: rogerw (roger.wallin@abilita.fi)
  9. rogerw said Being able to make changes to the ini-file without destroying the default usys.ini file, we always make a copy of the ini file and start our applications with the copied usys.ini file using "/ini=". This time our problem probably was that the usys.ini file was copied from "\common\adm". When is "\common\adm\usys.ini" used and are there large differences to "\uniface\adm\usys.ini"Surprised? Regards RogerW.

    In Uniface 9.6 the usys.ini in \common\adm featured the following comment:

    ; Uniface for Windows configuration file for URouter & URouter Monitor Although in version 9.6 the only difference between the usys.ini in common and in uniface was the setting usysadm (one pointing to \common\adm and the other to \uniface\adm). In version 9.7 the differences are more substantial. The usys.ini in \uniface\adm additionally features the following settings: > the section [areaframes] with the setting:

    SHORTCUTS=uframe(backcolor=#66B2E6;attach=hsize,vsize) > in the section [widgets] the settings:

    IDFSpeedSearch=ueditbox(font=editfont;onedit=T) IDFTextCell=ueditbox(font=editfont) IDFButtonSide=ucmdbutton(representation=Uniface;cursor=uhand;frametype=off;font=IDFButtonText;labelfont=IDFButtonText;backcolor=#01A7E1;backcolorselect=#97D5EC;backcolorhover=#55C1E8;backcolorfocus=#0084CC;forecolor=white;forecolorselect=black;vsize=80;autolabel=F;position=top) IDFButtonHeader=ucmdbutton(representation=Header;cursor=uhand;halign=left;valign=center;font=label) IDFButtonSpecial=ucmdbutton(representation=Uniface;cursor=uhand;frametype=off;font=IDFButtonText;labelfont=IDFButtonText;backcolor=#01A7E1;backcolorselect=#97D5EC;backcolorhover=#55C1E8;backcolorfocus=#0084CC;forecolor=white;forecolorselect=black;vsize=80;POSITION=CENTER) IDFOpenProfile=ueditbox(frame=T;font=editfont;autoselect=on;dimmedbackcolor=off;dblclk=detail;multiline=F) > in the section [application] the settings:

    ; Uniface 9.7 development environment application settings: shell=ushell(backcolor=#F9FCFF) window=uwindow(backcolor=white) menu=umenu(backcolor=white;forecolor=black;backcolorselect=#0084CC;forecolorselect=white;backcolorfill=flat) panel=upanel(backcolor=white;backcolorhover=white;backcolorlocked=#55C1E8;backcolorselect=#97D5EC;bordercolorhover=#55C1E8;bordercolorlocked=#0084CC;bordercolorselect=#0084CC) > in the section [screen] the font settings:

    IDFButtonTextLarge=Segoe UI,Western,12,bold IDFCategories=Microsoft Sans Serif,13,regular Btw. the only INI setting for the Debugger that is missing from the \common\adm\usys.ini seems to be IDFButtonSide (in [widgets]). And it maybe could be argued that this setting should also be present in the common usys.ini. Hope this helps. Regards, Daniel


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