buttons became blocked while th is a constant update o data

Hi guys,
I try to explain my problem
I have a server file and client file (graphic). my client communicate with the server constantly and have to update the graphic as the information givin from the Server (container have to change colours). my graphic will be updated when i make a change on the robot side (taking or putting a new item) .
my problem is that i have other buttons which for example have to shutdown my application or to open another window. these buttons become blocked when i start my application.

can anyone help plz.

A few questions

  1. This is a Photon program?
  2. The buttons you speak of are Photon Widgets?
  3. Do you have any idea why they are “blocked”? Possibilities include:
    A) Something is in front of them
    B) They are disabled by software
    C) The are active but the have no callback so they don’t do anything
    D) __________________

BTW, since you mention all the server-client stuff, how are you communicating with this program:
A) QNX Message Passing
B) TCP/IP
C) via a thread in the Photon program?

Hi maschoen,

  1. yes this is a phAB programm ( the client)
  2. yes they are Photon Widgets?
  3. i think when the client get constantly informations from the server, it blocks all other widgets
  • all of them have collbacks

the Client and Server are communication with QNX Message Passing

PS : do u speak german maschoen?

Well it is possible that the photon program is receiving data so fast that it doesn’t have time to update the GUI. This seems unlikely but is possible. I don’t speak German well enough to communicate about computers. Sorry.

is there any way to resolve this problem ?

Well, I don’t know your problem, but here is how I would approach it.
I would make the data collection a separate thread. That thread would just do the following:

loop:
Receive-data
get-mutex
Update data
release-mutex

The main program would likewise have to obtain the mutex before it access the data.

Finally I would then make sure that this thread runs at a lower priority than the rest.