Authored by LitDev
One of the great things about Small Basic is that you have to be imaginative to solve problems, since there is such a small set of commands. This makes it fun to use even when you have quite good programming skills - it is still a challenge to get it to do new things more efficiently.
There was a recent Small Basic forum question that highlighted this for me, and reminded me of the saying...
"If the only tool you have is a hammer, then everything looks like a nail"
   
  
In other words for programming - " if you know one way of doing something, then this may be how you try to do everything ". This is a very good lesson to be mindful of.
I had been adding and fixing some methods for a Small Basic extension, when I saw this post by jricestk (JR).
TextWindow Issues Can't Show after hiding textwindow
"I have tried this on 2 computers that are running windows8.1 and get the error that is in the image.
   
    TextWindow.WriteLine("Here")
   
   
   
    TextWindow.Hide()
   
   
   
    TextWindow.Show()
   
  
Can anyone confirm that they get the same error? If I comment out the 1st line I don't get the error. This does occur with no extensions present."
A few posts later it was confirmed that it appeared to be a Small Basic bug and some-one suggested perhaps an extension could be written to create a fix for it.
It was a simple fix and I had just been working on extensions so I created a couple extension commands to handle hiding and showing the TextWindow. Job done.
Then came a post by Jibba Jabba with simple and effective workaround without any need for extensions reminded me of the Hammer and Nail proverb.
"Hello jr
What about a simple work around?
I use this for both TW and GW, it solves any clearing of the TW and any Shapes issues for the GW."
     TextWindow
    
    
     .
    
    
     WriteLine
    
    
     (
    
    
     "hello, hide for 3 seconds"
    
    
     )
    
   
     Program
    
    
     .
    
    
     Delay
    
    
     (
    
    
     2000
    
    
     )
    
   
    
   
     lastTop
    
    
     =
    
    
     TextWindow
    
    
     .
    
    
     Top
    
   
     TextWindow
    
    
     .
    
    
     Top
    
    
     =
    
    
     Desktop
    
    
     .
    
    
     Height
    
   
     Program
    
    
     .
    
    
     Delay
    
    
     (
    
    
     3000
    
    
     )
    
   
     TextWindow
    
    
     .
    
    
     Top
    
    
     =
    
    
     lastTop
    
   
So all you have to do is move the TextWindow off the desktop, and return it to show it again - cool - lesson learned again.