Current Page Repaint Corrupted


Recommended Posts

Hi,

I regularly use page.strCurrentPage="scn1,scn2,scn3....." to build up the screens I wish to show, where scn1, scn2 etc each form part of the completed display.

Mostly works well, and has done so for four years now, however I have occassionally (may be 2 or 3 times in last six months) had screen corruption where screen is not cleared before new composite screen is displayed.

Unfortunately it has happened 3 times in last two days (on three different systems).

Once error has occurred, screen becomes progressively corrupted as more and more components are overlaid on "dirty" screen. Only resolution is DaqFactory restart. In and out of safe mode makes no difference. F4 to maximize and repaint screen again does not clear screen.

Any suggestions how I might prevent the problem?

Rod.

Link to comment
Share on other sites

I'm afraid I haven't got a snapshot of the corrupted screens, but certainly the symbols, text, labels overlaid on top of each other... I think the panels were as well - underneath all the text.

No, I am not doing anything fancy with the display - certainly no calls to delayupdates().

I'm simply build up a string as a comma seperated list of the screen portions to be displayed, then setting page.strCurrentPage=strMyPages.

99.99% of the time works perfectly. But at least 5 times now, 3 times earlier this week, it gets corrupted... looks like previous screen contents is not cleared before new is painted... but panels in new setting do not overwrite old text.

Once its in this mode only way to clear is to restart daqfactory. I've tried going in to Dev mode and selecting individual pages - they just get overlaid the same.

Rod.

Link to comment
Share on other sites

Usually this happens when the background thread that draws graphs and the like is hung. Usually the only way that happens is if you have some event script that hangs it, or if you delete a graph (and then only very rarely). Are you doing anything other than operating the system? Do you have any Events in your components? Are you using the Canvas component?

Link to comment
Share on other sites

  • 2 weeks later...

Hi Matt,

It is difficult to describe what I get. Each screen gets displayed "correctly" except that the clear to "clean" the background before each paint is not happening.

I managed to get a couple of screen shots recently so I'm sending them to you by email.

Whilst it was in this corrupted state I tried setting page.strcurrentpage to various values... each time the selected page was displayed correctly, I think fully though difficult to tell, but on top of the previous display.

The only event scripts I have are Onkey and OnChar and OnShutdown. These are trivial - they set a global variable if on a particular page (which is not used on this machine). No components with any events. No use of the canvas component.

Single graph on page that is still updating correctly (again not 100% sure of this).

I don;t think the operator was doing anything unusual at the time. They had been away from the system for a tea break. On their return the had to go to an "allocate Downtime" page (which gets used a lot) then the screen corrupted.

The "allocate Downtime" page is simply a few coloured panels with a bunch of buttons that have quick sequences on them that trigger normal sequences with various parameters.

All works 99.999999% (approximately) of the time without problem.

Problem seems to be predominantly on a single machine, though I think it has happened on others as well, but is so infrequent I can't be sure.

Rod.

Link to comment
Share on other sites

  • 1 month later...

Hi Matt, Different machine - last three occurences have all been on same site, different machines.

4th June, 13th June, and 31st July.

10 other systems at two sites no problem.

Using version 5.87, build1969.

Rod.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.