[SOLVED] Grid Widgets

Author: ravi.kamat@swiftlg.com (ravi.kamat@swiftlg.com)

Hi, Would like to know if anyone else is having issues with the Uniface Grid widget. At various of our customer sites it appears to be crashing Uniface with a generic uniface.exe error. It is a standard Client Server implementation currently using Uniface 9.6.04. Obviously this is causing us and our customers considerable difficulties so I would like to know if anyone knows of anything we should look at as it appears to be quite random. Have logged calls with Uniface support but not getting very far with them due to the randomness. Cheers Rav

13 Comments

  1. Hi Ravi, I've just started up a new system at beginning 2016; there are 55 daily users working on it. We are on a slightly newer Uniface version: 9.6.07. The application is including grid widgets in many forms and users loves them, asking us to include them where they are not (yet) used. Grid widget is for us not a problem but a plus! Hope it helps ... Gianni


    Author: gianni (gianni.sandigliano@unifacesolutions.com)
  2. gianni said Hi Ravi, I've just started up a new system at beginning 2016; there are 55 daily users working on it. We are on a slightly newer Uniface version: 9.6.07. The application is including grid widgets in many forms and users loves them, asking us to include them where they are not (yet) used. Grid widget is for us not a problem but a plus! Hope it helps ... Gianni

      Not quite sure how that was supposed to help me... Yes, I too have Grid Widgets all over the place and if they carry on crashing the application then I will have to undo 2 years work of putting in those grid widgets by taking them all out again. Looks like that is what I am going to have to do. I would warn anyone else who is thinking of using Grid widgets to not do so as they will have wasted all their effort like I have.


    Author: ravi.kamat@swiftlg.com (ravi.kamat@swiftlg.com)
  3. We do not have problems with them. We are using grids in several apps from version 9.5 (all of them are now in version 9.6 but one that is in 9.7.01). Windows 7 and 10. No experience in Windows 8.x. Only issue is refreshing time. Few forms refresh data every few seconds and refreshing is visible. But it is something we can live with. And with large amount of data it takes longer than a multi-occ form (obviously). That's all. No crashes.


    Author: luis.vila (luis.vila@uniface.es)
  4. ravi.kamat@swiftlg.com said
    gianni said Hi Ravi, I've just started up a new system at beginning 2016; there are 55 daily users working on it. We are on a slightly newer Uniface version: 9.6.07. The application is including grid widgets in many forms and users loves them, asking us to include them where they are not (yet) used. Grid widget is for us not a problem but a plus! Hope it helps ... Gianni
    Not quite sure how that was supposed to help me... ... I would warn anyone else who is thinking of using Grid widgets to not do so as they will have wasted all their effort like I have.

    Come on...not so heavy...we are on a public forum and we are trying to help you! Probably you could dig "around" your crashes to find out why your Uniface application is crashing while others are reporting their Uniface applications stable using grid ? Could it be something specific in your environment ? Spreading FUD (Fear, Uncertainty and Doubt) is not a solution...


    Author: gianni (gianni.sandigliano@unifacesolutions.com)
  5. gianni said
    ravi.kamat@swiftlg.com said
    gianni said Hi Ravi, I've just started up a new system at beginning 2016; there are 55 daily users working on it. We are on a slightly newer Uniface version: 9.6.07. The application is including grid widgets in many forms and users loves them, asking us to include them where they are not (yet) used. Grid widget is for us not a problem but a plus! Hope it helps ... Gianni
    Not quite sure how that was supposed to help me... ... I would warn anyone else who is thinking of using Grid widgets to not do so as they will have wasted all their effort like I have.
    Come on...not so heavy...we are on a public forum and we are trying to help you! Probably you could dig "around" your crashes to find out why your Uniface application is crashing while others are reporting their Uniface applications stable using grid ? Could it be something specific in your environment ? Spreading FUD (Fear, Uncertainty and Doubt) is not a solution...

      I know we are on a public forum that is why I am fud'ing. Have had no help from Uniface support so am trying to get their attention here. You may ask why I am sure it is the grid widget that is crashing uniface. There was a form that the users were accessing that had a grid widget that would crash the application after the users had accessed it a few times. We took the grid widget off of it and replaced it with mutli-occ fields. No more crashes. As that was the only change in the form you tell me what you think was causing the crashes...


    Author: ravi.kamat@swiftlg.com (ravi.kamat@swiftlg.com)
  6. Some more information. This has been going for at least three years - hence my frustrations. It is very  random. It doesn't happen at all sites, doesn't even happen on all client machines at the same sites. The last action done before the crash will vary. The only consistency is the users were using a form with a grid widget on it. What I am really looking for is ideas of where we should be looking on the problem client PCs. For example are there specific DLLs that have the Grid Widget in them?


    Author: ravi.kamat@swiftlg.com (ravi.kamat@swiftlg.com)
  7. Hi Ravi, My checklist putting myself in your shoes... What is your usage pattern for grid widgets? - Which is your environment ? (O.S., DB, Installation char sets, Language on desktop, INI, ASN, ...) - Associated entity physical type ? (Tables, Views, Materialized Views, ...) - Minimum and maximum number of fields? - Field type (db, non_db, non_db calculated, ...) ? - Are you saving grid status ? If YES, at which level (Component, Instance, ...) ? - Were you able to somehow reproduce your very random problem in a smaller testset ? - Considering it is VERY random: is it happening in 32 or 64 bit OS? Is it happening in a specific OS version ? - Could be reproduced with IDF or only in a deployed environment ? - If only in a deployed environment which are contents of your Uniface startup shell? - Are you including some custom DLL into your application deployment scenario? - Could you migrate forward to a newer Uniface version (like 9.6.07 IMHO better than 08) with few users ? Probably you provided already all these infos to Uniface Support but user base could somehow help you only if you share them also here... Gianni


    Author: gianni (gianni.sandigliano@unifacesolutions.com)
  8. We have exactly the same issue, and have raised it with Support, we are in the process of trying to get a reproducable or properly logging version, but the random nature of the occurrence is our downfall.  Our application, which I have been converting to grid widget instead of multi occ forms to allow for use on various size screens etc, has become very unstable as a result, and it is the major complaint of a large proportion of our customers (where it happens, some customer sites, running the same version of our code, on the same version of Uniface, on the same operating systems (windows 7 mainly) have no issues.) I understand your frustration, it is bad when something out of your control makes your work look poor.  Do you do anything using the VISIBLE entity property, or using $columsyntax to hide columns before the edit/show command in the program? It has been suggested that this could be part of the problem. 


    Author: Iain Sharp (i.sharp@pcisystems.co.uk)
  9. Iain Sharp said ... Do you do anything using the VISIBLE entity property, or using $columsyntax to hide columns before the edit/show command in the program? It has been suggested that this could be part of the problem. 

    hi lain, We were warned either from ULab about the VISIBLE property (and we used it a lot!) but my case is probably lucky enough to be in the "light side of the moon" while your cases are in the "dark side of the moon". As of today talking about "same OS" is a uncertain sentence: 32 or 64 bit platforms? U32bit appl on 64bit platforms? Have you monitored memory usage? Gianni


    Author: gianni (gianni.sandigliano@unifacesolutions.com)
  10. Iain Sharp said We have exactly the same issue, and have raised it with Support, we are in the process of trying to get a reproducable or properly logging version, but the random nature of the occurrence is our downfall.  Our application, which I have been converting to grid widget instead of multi occ forms to allow for use on various size screens etc, has become very unstable as a result, and it is the major complaint of a large proportion of our customers (where it happens, some customer sites, running the same version of our code, on the same version of Uniface, on the same operating systems (windows 7 mainly) have no issues.) I understand your frustration, it is bad when something out of your control makes your work look poor.  Do you do anything using the VISIBLE entity property, or using $columsyntax to hide columns before the edit/show command in the program? It has been suggested that this could be part of the problem. 

      Thanks Iain, I thought it was just me going a bit mad... There was a $columnsyntax statement hiding / showing columns depending on stuff but the first thing I did was a put a "show" in immediately before it. Seemed to make it a bit more stable but it would still crash. So took the $columnsyntax statement out entirely and it is still crashing at random intervals. It is the randomness of it that is so frustrating, we can't make crash at our office regardless of version of windows or memory etc in the client. At least I know now it is not just me or something I have done. If you find anything let me know and I shall do the same here.


    Author: ravi.kamat@swiftlg.com (ravi.kamat@swiftlg.com)
  11. FYI In the course of UNIFACE 9.6 to 9.7 there has been made several bugfixes in the kernel to better support the GRID. I think it would be a good idea to verify with the latest version of UNIFACE whether the crashes are gone. Focus area's were: remocc, discard and for instance hitting the key while 4GL was processing on a GRID form. We still have crashes when you load more than 1.9 GB of data in the GRID widget. Windows cannot handle more data in a single process. Keep this in mind when doing database queries. A 10 column width grid can only show about 10.000 records when all columns show text. Repeating images will use the same bitmap handle, so only the different images will take memory. When UNIFACE cannot claim memory it will end up in a "Fatal: cannot claim enough memory" and sometimes UNIFACE simply disappears. If it is not memory related, please check with support Jasper de Keijzer


    Author: Jasper (jasper.de.keijzer@compuware.com)
  12. Hi Ravi, Uniface grid is a bit tricky and it has many pros and cons. We were facing very similar situation a few years ago (I think like 2 or 3 years ago). I don't remember exact Uniface version, but it might be version cca 9.5. Support helped us only partly. They helped us address some unsupported scenario in our forms. Some of them we were able to get rid of, but other situations have no workaround so we still use the Grid widget in an unsupported way. The main problem is, that Grid does not support inner entities. And even the Grid itself cannot be used as inner entity. I consider this to be very stupid limitation and it's not really clear from ulibrary (even though it is stated there). The second problem in our form was split bars. It can't be used to cross an entity. This was our very first rework... because we had some "big" forms... just one dummy entity, inside that dummy entity is the Grid with DB entity (showing data) and at the bottom just few buttons. And split bars to make it dynamic and to show margins (because the Attach property attached the grid to the edge of the form, which does not look good). We changed these forms to have the grid (DB entity) on the form (not inside the dummy entity) and the dummy entity was used to show buttons only. And the split bars are now positioned on the form itself, not through any entity. This helped a lot. As far as I know most crashes disappears. Some users were forced to remove the form state from the windows registry. The second scenario is much worse. We use grid as an inner entity. There is one outer DB entity and one inner entity (with relation). We can't move this inner entity out of the outer entity. So we keep these forms.... we played a bit with triggers... sometimes you need to clear the form before the quit and so on. From time to time there were some changes to grid widgets and we needed to play with it again. But at least last 2 years I don't remember any changes from us. It seems quite stable, even still unsupported by Uniface :(. It seems that as long as the user have only 1 (one) occurrence of the outer entity, it's quite stable. If user reads more, it might crash from time to time. Hope this helps, Zdeněk


    Author: sochaz (zdenek.socha@fullsys.cz)
  13. With the release of patch g104 for Uniface 9.7.01 this issue is now fixed.   Thank you Uniface!


    Author: ravi.kamat@swiftlg.com (ravi.kamat@swiftlg.com)