SDuperStrict and MaxGUI?
BlitzMax Forums/BlitzMax Beginners Area/SDuperStrict and MaxGUI?
| ||
| So far my program has been working fine and has been progressing well. To catch any unwanted bugs or leaks I decided to turn SuperStrict on and all hell broke loose. After what seemed an age of fixing code i still couldn't get it to work. Here is a simple bit of code that throws and error for me. in SuperStrict mode but not in any other mode. Error: Unable to convert from "int" to "TGadget"
SuperStrict
Local style:Int = WINDOW_TITLEBAR|WINDOW_RESIZABLE|WINDOW_MENU|WINDOW_STATUS
Local MainWindow:TGadget
MainWindow = CreateWindow("Test",200,200,800,600,0,style)
Repeat
WaitEvent()
Select EventID()
Case EVENT_WINDOWCLOSE
End
End Select
Until KeyHit(KEY_ESCAPE)
|
| ||
With SuperStrict you have to declare what kind of variable all your variables are. They default to integer.
MainWindow = CreateWindow("Test",200,200,800,600,0,style)
CreateWindow returns a TGadget, but MainWindow is an integer.
MainWindow:TGadget = CreateWindow("Test",200,200,800,600,0,style)
That should fix your problem(s). |
| ||
Group parameter is a TGadget, try this:
SuperStrict
Local Style:Int = WINDOW_TITLEBAR|WINDOW_RESIZABLE|WINDOW_MENU|WINDOW_STATUS
Local MainWindow:TGadget=CreateWindow("Test",200,200,800,600,Null,Style)
Repeat
WaitEvent()
Select EventID()
Case EVENT_WINDOWCLOSE
End
End Select
Until KeyHit(KEY_ESCAPE)
|
| ||
Well, in the code I posted I had it set up like this.
Local MainWindow:TGadget
MainWindow:TGadget = CreateWindow("Test",200,200,800,600,0,style)
I changed it to the following:
SuperStrict
Local style:Int = WINDOW_TITLEBAR|WINDOW_RESIZABLE|WINDOW_MENU|WINDOW_STATUS
MainWindow:TGadget = CreateWindow("Test",200,200,800,600,0,style)
Repeat
WaitEvent()
Select EventID()
Case EVENT_WINDOWCLOSE
End
End Select
Until KeyHit(KEY_ESCAPE)
The above throws the error " Identifier MainWindow not found" |
| ||
| Yep, That worked. Thanks Tiger. WHat if I want to use the Group option though? Or does it not matter with CreateWindow? |
| ||
You can use group option with CreateWindow, test this code if you have time :) , click somewhere on the big window and you can see the diffrents.
SuperStrict
Local Style:Int = WINDOW_TITLEBAR|WINDOW_RESIZABLE|WINDOW_MENU|WINDOW_STATUS
Local MainWindow:TGadget=CreateWindow("Parent",200,200,800,600,Null,Style)
Local ChildWindow:TGadget=CreateWindow("Child",200,200,150,150,MainWindow,Style)
Local NotChild:TGadget=CreateWindow("Not Child",300,300,150,150,Null,Style)
Repeat
WaitEvent()
Select EventID()
Case EVENT_WINDOWCLOSE
End
End Select
Until KeyHit(KEY_ESCAPE)
|
| ||
| Thanks. :) |