64bit Uniface and ocx/other woes.

Author: i.sharp@pcisystems.co.uk (Iain Sharp)

So, we have so far dealt with 64bit operating systems etc by blithely installing the 32bit uniface on them, with no (major) issues.  However, a recent problem with (probably) max number of handles, has led to me trying the software using the 64 bit install (uniface 9.7.04).  My immediate issue is that the mss40.dll is not there, so I am also having to change to mss50, which will, if we implement it, force us to try and persuade some of our customers to upgrade their SQL server. Is there a 64bit mss40.dll anywhere? Would it be compatible?  After that, I am having problems with it failing to communicate with ocx and other dlls we use for 3rd party software. (We have a crystal reports integration ocx, vital to the system, which fails, and several 3rd party dlls, which won't load.) 1. Is there something we can set at windows/uniface level to just turn the ability to integrate these dlls with 64bit uniface?  2. For the ones under our control, written in visual studio, is there a simple method of compiling up a 64bit version, and how do people cope with mixed installations (some 32bit, some 64 bit?) Sorry to come off as a clueless newbie here, but outside of uniface development, I mostly am. Confused   Iain

4 Comments

  1. Iain Sharp said After that, I am having problems with it failing to communicate with ocx and other dlls we use for 3rd party software. (We have a crystal reports integration ocx, vital to the system, which fails, and several 3rd party dlls, which won't load.) 1. Is there something we can set at windows/uniface level to just turn the ability to integrate these dlls with 64bit uniface? 2. For the ones under our control, written in visual studio, is there a simple method of compiling up a 64bit version, and how do people cope with mixed installations (some 32bit, some 64 bit?)

    Here are some thoughts from my colleague Chris:

    "As long as their code does not make assumptions about the size of long integers and pointers, I don’t think there is anything specific to look out for.

    This should just be a matter of using the correct CL and LINK executables (64-bits instead of 32-bits)." Hope this helps. Daniel


    Author: diseli (daniel.iseli@uniface.com)
  2. Iain Sharp said
    diseli said The main difference between the MSS U4.0 and U5.0 is that the later is supporting pagination. Apart from that the drivers are (basically) the same. But why would you need to update the SQL Server? Or do your customer still use SQL Server 2008 or 2008 R2? If that's the case then it might be a good idea to start moving to a higher version, since both versions are already in extended support since July 2014 and that will end next year (July 2019). For details see: > End of Mainstream support for SQL Server 2008 and SQL Server 2008 R2
    Yes, we do still have customers using SQL 2008. I am aware we have to persuade them to move sometime and this is probably the time, but it's a long and involved job to persuade people to spend money on 'invisible' software.  Iain  

    You could try to use the MSS U5.0 driver with SQL Server 2008 (R2). I think that it'll work (even though it's not officially supported by Uniface). Just make sure that you don't try to use pagination (you need at least SQL Server 2012 for this). Hope this helps. Daniel


    Author: diseli (daniel.iseli@uniface.com)
  3. Iain Sharp said However, a recent problem with (probably) max number of handles, has led to me trying the software using the 64 bit install (uniface 9.7.04).

    I'm afraid that this will not make a difference. The Windows handle limits are the same for 32- and 64-bit (AFAIK).

    Iain Sharp said My immediate issue is that the mss40.dll is not there, so I am also having to change to mss50, which will, if we implement it, force us to try and persuade some of our customers to upgrade their SQL server. Is there a 64bit mss40.dll anywhere? Would it be compatible?

    The main difference between the MSS U4.0 and U5.0 is that the later is supporting pagination. Apart from that the drivers are (basically) the same. But why would you need to update the SQL Server? Or do your customer still use SQL Server 2008 or 2008 R2? If that's the case then it might be a good idea to start moving to a higher version, since both versions are already in extended support since July 2014 and that will end next year (July 2019). For details see: > End of Mainstream support for SQL Server 2008 and SQL Server 2008 R2

    Iain Sharp said After that, I am having problems with it failing to communicate with ocx and other dlls we use for 3rd party software. (We have a crystal reports integration ocx, vital to the system, which fails, and several 3rd party dlls, which won't load.) 1. Is there something we can set at windows/uniface level to just turn the ability to integrate these dlls with 64bit uniface? 2. For the ones under our control, written in visual studio, is there a simple method of compiling up a 64bit version, and how do people cope with mixed installations (some 32bit, some 64 bit?)

    In case you are using 64-bit Uniface then all the 3rd party dlls and OCX controls need to be 64-bit as well. You cannot mix-and-match 32- and 64-bit software (within the same process). And recompiling your own stuff for 64-bit should be straight forward (I think). You just have to be careful with pointers and numeric data types such as int. But you need to create two different versions of your dlls/OCX controls if you want to use both 32- and 64-bit Uniface. But I'll ask a more versed colleague if he has any other useful tips here.

    Iain Sharp said Sorry to come off as a clueless newbie here, but outside of uniface development, I mostly am. Confused Iain

    Hope this helps. Daniel


    Author: diseli (daniel.iseli@uniface.com)
  4. diseli said
    The main difference between the MSS U4.0 and U5.0 is that the later is supporting pagination. Apart from that the drivers are (basically) the same. But why would you need to update the SQL Server? Or do your customer still use SQL Server 2008 or 2008 R2? If that's the case then it might be a good idea to start moving to a higher version, since both versions are already in extended support since July 2014 and that will end next year (July 2019). For details see: > End of Mainstream support for SQL Server 2008 and SQL Server 2008 R2

    Yes, we do still have customers using SQL 2008. I am aware we have to persuade them to move sometime and this is probably the time, but it's a long and involved job to persuade people to spend money on 'invisible' software.  Iain


    Author: Iain Sharp (i.sharp@pcisystems.co.uk)