$signatureproperties in Uniface 9.7.03 or 9.7.04

Author: johan.vanautreve@cevi.be (cevijva)

Hello We experience problems with the $signatureproperties function. We wrote code in Unifae 9.6.08, it always worked as expected with the runtime version 9.6.08. Now we need Uniface 9.7.03 or above for Windows 2016. When we try the same code (same UAR as in above test - version 9.6.08) and we debug, we see that the $signatureproperties function is replaced by $instancelayout... $instancelayout is not a documented function as far as we know?  We don't have problems with runtimes 9.7.03 or 9.7.04 on Windows 10! This seems to be a problem under Windows 2016? Anyone having the same problem/experience? Or (better) anyone having a solution? Johan


  1. Hello Johan, Welcome to the Uniface.info forum. If I understand you correctly then you are using an UAR-archive that was created (compiled) with version 9.6.08. What happens when you recompile everything with version 9.7.03 or 9.7.04? It is not really recommended to use compiled objects from a different version of Uniface. You always should recompile everything when migrating from one version to another (e.g. from Uniface 9.6.xx to 9.7.xx). Hope this helps. Kind regards, Daniel Iseli Uniface Technical Support

    Author: diseli (daniel.iseli@uniface.com)
  2. Yes, the uar of our current production version was originally made in 9.6.08. All of our customers are still in version 9.6.08 runtime. We only want to use this uar with the 9.7.04 runtime on Windows Server 2016 (otherwise: platform not supported) If we switch our developing environment to 9.7.04, we can't distribute UARarchives to our customers with runtime version 9.6.08. I can follow your reasoning, but why does it work on Windows 10 and why not on Windows Server 2016? Can you easily test IF code containing $signatureproperties works on Windows Server 2016 in a Uniface 9.7.04 made UAR? Thank you for your help! Johan

    Author: cevijva (johan.vanautreve@cevi.be)
  3. Thanks for your reply. I did a quick test here, but a component that uses $signatureproperties and is compiled with Uniface 9.6.08 gives the same problem when executed with Uniface 9.7.04 on Windows 10. Instead of $signatureproperties I can see the function $instancelayout. For my tests I've used the latest patch for version 9.7, which is G410. I would have been surprised if something works on one Windows version but does not on another when using the exact same Uniface version. I have no idea what it works for you, but I guess that there must be a difference between what you are testing on Windows 10 and on Server 2016. So in case you want to deploy your application on Windows Server 2016 then you have to recompile it with version 9.7.04. You could just install Uniface 9.7.04 side-by-side with version 9.6.08 and use the same repository database. You just have to make sure that you compile everything from the command line with version 9.7.04 and use a different ASN file that creates separate (and version 9.7.04 specific) UAR-file. Hope this helps. Daniel

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