Welcome to the SRP Forum! Please refer to the SRP Forum FAQ post if you have any questions regarding how the forum works.
Popup item not changing text
I use a popup as an alternative to the standard OI MSG for a number of reasons.
One of these reasons is the ability to change the text on already displayed messages and I use this approach when the applications are initially logging in to keep the user informed that stuff is happening.
In the screenshot below, the first popup is such an example. Most of the popup remains the same but the line that says "Connection Successful" keeps changing through the different stages of log in. Often this occurs quite fast and as such I couldn't grab a screenshot of the offending text in it's original form.
What started happening yesterday was that every subsequent time that I used this popup to display some other message, one line kept displaying the same text even though I was setting it to something else.
The item takes on the font characteristics that I set for it, but not the text.
This is all local. I've closed OI down and restarted it. I have restarted my machine even but still this offending line lingers. Any thoughts?
So in all the above cases, it is item 3.
In the first example, I use itemlist initially but then use the item[3] property to modify the text contents.
In the other subsequent messages, it is all itemlist.
One of these reasons is the ability to change the text on already displayed messages and I use this approach when the applications are initially logging in to keep the user informed that stuff is happening.
In the screenshot below, the first popup is such an example. Most of the popup remains the same but the line that says "Connection Successful" keeps changing through the different stages of log in. Often this occurs quite fast and as such I couldn't grab a screenshot of the offending text in it's original form.
What started happening yesterday was that every subsequent time that I used this popup to display some other message, one line kept displaying the same text even though I was setting it to something else.
The item takes on the font characteristics that I set for it, but not the text.
This is all local. I've closed OI down and restarted it. I have restarted my machine even but still this offending line lingers. Any thoughts?
So in all the above cases, it is item 3.
In the first example, I use itemlist initially but then use the item[3] property to modify the text contents.
In the other subsequent messages, it is all itemlist.
Comments
As you have seen we also use the SRP Popup control as a Msg() replacement. I have encountered this type of behavior before and it is due to the way the internal control (a library we coopted) caches content for optimized performance. Of course, I could be completely wrong and Kevin will set me straight. I just recall this being an issue when it came to positioning the control. This led to the creation of the ShowAt method.
I can't recall any situation where I am keeping the SRP Popup displayed and then changing the content within it. How, exactly, are you managing this? Are you updating the Item property? Have you tried to set the Item property to a space first and then the new text?
Firstly, problem solved. My code hence it only started yesterday.
In answer to your question; Yes with the item property like this:
Set_Property(MDI_PopupMsg@, "OLE.Item[3]", fm$:'Checking for existing connection') Set_Property(MDI_PopupMsg@, "OLE.Item[3]", fm$:successmsg)
I only do this with the initial starting of the application because I first display the message before the mdi is made visible. Otherwise I would generally use a statusbar for this sort of thing and the message/popup is used for static text.
Your response though triggered me to check how often I was doing this and confirm I was only performing line 1 in one function. This is when I am checking for a connection with the syncserver. Yesterday I changed the call to occur in the commuter for the mdi instead of just when making the initial connection. I display a different icon on the mdi depending upon the connection status so regular checks seemed to make sense except....
The message popup is on the mdi, so each popup event was checking the syncserver and updating item 3 of the message. So the popup was displaying whatI had told it to but it was replacing the text before I could see it. My Bad.
I need to better manage when I am checking for a connection and then my messages won't update themselves.
Updating the item property works fine. So well in fact that it led to this goof in the first place.
Thanks for the bouncing board.