SDuperStrict and MaxGUI?

BlitzMax Forums/BlitzMax Beginners Area/SDuperStrict and MaxGUI?

Amon(Posted 2005) [#1]
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)



Regular K(Posted 2005) [#2]
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).


Tiger(Posted 2005) [#3]
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)



Amon(Posted 2005) [#4]
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"


Amon(Posted 2005) [#5]
Yep, That worked.

Thanks Tiger.

WHat if I want to use the Group option though? Or does it not matter with CreateWindow?


Tiger(Posted 2005) [#6]
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)



Amon(Posted 2005) [#7]
Thanks. :)