02-09-2023, 04:00 PM
The coloring coming and going is a basic issue of how Galleon designed our IDE. Instead of drawing on a single image screen, Galleon choose to use multiple pages for the IDE. Page 0 is the active screen. 1 is a background page for your text. 2 is the IDE help area (IIRC). 3 is the menu/borders... All of which goes back 20 years ago to the original roots of QB64 when it was being built and compiled in qb45 and wasn't a self compiling programming language. Back in those days, there wasn't any _DISPLAY to sync pages to an users monitor's display rates, so to prevent that annoying "flicker" that you'll find with looped routines, Galleon made use of page flipping.
Draw on page 1 until finished. Then PCOPY 1, 0 so it's visible to the user... <-- Old Skool page flipping at work!
The issue here is that over the years, we've worked to add some extra color into the IDE for keywords and functions and all. Apparently, one of those many multiple pages got missed with the logic which colorizes those keywords. Page 3 (or whichever it is) isn't properly coded to color My.Function.Foo properly, like Page 0 might be. <-- This is where the issue comes from that Terry reported in his opening post: "I need to move the cursor by pressing the space bar (or simply typing) and the color coding will come back, but disappear later again."
What's happening here is one page isn't coloring the code. Another page is. And, as you type, those pages get PCOPYed across to each other leading to this "it's colored... wait... now its not... oh wait... now it is..." syndrome.
It's a glitch in the code, but now the question becomes: WHERE in the code? And on which Page? And can we **EVER** find it and correct it? The issue isn't even as simple as doing a search for _DEST or _SOURCE and to dig for the problem. The issue, as I mentioned above, dates back to the QB45 roots of our project -- someone will need to figure out which SCREEN , ,var1,var2 command is relevant and then sort out the glitch in that page not coloring a Dot.Name.Function properly.
In other words, I wouldn't hold my breath for a solution -- this isn't the sort of glitch that is easily found, so it's not one that's going to be easily fixed. (Unless someone just gets very lucky, IMHO and stumbles upon the proper area to put a COLOR 3,7 statement into the code.)
Fix here isn't hard, I don't imagine. FINDING *where* to make the fix -- that's what's going to be a real PITA.
Draw on page 1 until finished. Then PCOPY 1, 0 so it's visible to the user... <-- Old Skool page flipping at work!
The issue here is that over the years, we've worked to add some extra color into the IDE for keywords and functions and all. Apparently, one of those many multiple pages got missed with the logic which colorizes those keywords. Page 3 (or whichever it is) isn't properly coded to color My.Function.Foo properly, like Page 0 might be. <-- This is where the issue comes from that Terry reported in his opening post: "I need to move the cursor by pressing the space bar (or simply typing) and the color coding will come back, but disappear later again."
What's happening here is one page isn't coloring the code. Another page is. And, as you type, those pages get PCOPYed across to each other leading to this "it's colored... wait... now its not... oh wait... now it is..." syndrome.
It's a glitch in the code, but now the question becomes: WHERE in the code? And on which Page? And can we **EVER** find it and correct it? The issue isn't even as simple as doing a search for _DEST or _SOURCE and to dig for the problem. The issue, as I mentioned above, dates back to the QB45 roots of our project -- someone will need to figure out which SCREEN , ,var1,var2 command is relevant and then sort out the glitch in that page not coloring a Dot.Name.Function properly.
In other words, I wouldn't hold my breath for a solution -- this isn't the sort of glitch that is easily found, so it's not one that's going to be easily fixed. (Unless someone just gets very lucky, IMHO and stumbles upon the proper area to put a COLOR 3,7 statement into the code.)
Fix here isn't hard, I don't imagine. FINDING *where* to make the fix -- that's what's going to be a real PITA.