Return Error.
BlitzMax Forums/BlitzMax Programming/Return Error.| 
 | ||
| Main file. 
Import xorsteam.xors3d  ' Nucleo del motor Xors3D.
' - Includes Objetos.
Include "Tipos/TGraficos3D.bmx"
G3D:TGraficos3D = TGraficos3D.Init()
For Local oG3D:TGraficos3D = EachIn G3D.listaG3D:TList  
    Print oG3D.anchoPantalla:Int
Next 
xDeInit()
File Include. 
Local G3D:TGraficos3D = Null 
Type TGraficos3D
    Field nombreAPP:String      = "ISON BASE"
    Field anchoPantalla:Int		= 800
	Field altoPantalla: Int		= 600
	Field profundidadColor:Byte	= 32
	Field estiloPantalla:Byte	= 0
	Field sincVertical:Byte 	= True
	Field listaG3D:TList 		= Null 
      
    ' Constructor Objeto.
    Function Init:TGraficos3D( anchoPantalla:Int = 800, altoPantalla:Int = 600, profundidadColor:Byte = 32, estiloPantalla:Byte = 0, sincVertical:Byte = True )
			
			
			Local oGraficos3D:TGraficos3D 		= New TGraficos3D
			
			If Not listaG3D:TList Then 
			 		
				listaG3D:TList	= New TList
			
			End If  
			
	        listaG3D.AddLast( oGraficos3D:TGraficos3D ) 
			
			oGraficos3D.anchoPantalla:Int 		= anchoPantalla:Int
			oGraficos3D.altoPantalla:Int  		= altoPantalla:Int
			oGraficos3D.profundidadColor:Byte	= profundidadColor:Byte
			oGraficos3D.estiloPantalla:Byte		= estiloPantalla:Byte
			ograficos3D.sincVertical:Byte		= sincVertical:Byte
			
			oGraficos3D.Config()
			
			Return oGraficos3D:TGraficos3D
			
	End Function 
	
	Method Config:Int()
	
	    
	         
			Try 
	
	
					If ( xGfxModeExists ( Self.anchoPantalla:Int, Self.altoPantalla:Int, Self.profundidadColor:Byte ) ) Then 
					
					    xAppTitle Self.nombreAPP:String
				 		XGraphics3D ( Self.anchoPantalla:Int, Self.altoPantalla:Int, Self.profundidadColor:Byte, Self.estiloPantalla:Byte, Self.sincVertical:Byte ) 	
					    
					Else 
					
					 
					Throw "Modo G3D no compatible"
					
					End If 
			   
	           
	
	         Catch e$
	
	        		Notify e$
	
	         End Try 
	
	
	
	End Method
    
End Type
Error Return: Unhandled Exception: Attempt to acces field or method of null objetc. help. | 
| 
 | ||
|  Unhandled Exception: Attempt to acces field or method of null objetc.  On which line? (the IDE should highlight the line the error occurred on) | 
| 
 | ||
| . | 
| 
 | ||
| There are a couple of things causing the issue This is creating a new variable at this point in the code which the compiler allows but is NOT a part of the oGraficos3D object If Not listaG3D:TList Then change it to If Not listaG3D Then You will then see the real error which is listaG3D.AddLast( oGraficos3D:TGraficos3D ) which should be corrected to If Not oGraficos3D.listaG3D Then oGraficos3D.listaG3D = New TList End If and also oGraficos3D.listaG3D.AddLast( oGraficos3D:TGraficos3D ) As a general rule of thumb always use 'Strict' or maybe 'SuperStrict' to help catch errors and only define the type of a variable where you are declaring it. Don't use things such as 'If Not listaG3D:TList Then'. If you use 'Strict' or 'SuperStrict' and not use things as 'If Not listaG3D:TList' then you will get an error at that exact line telling you that listaG3D is unknown ( in NG it will tell you that 'listaG3D cannot be accessed from here' or something similar - you will then think that listaG3D is part of oGraficos3D object ;-) There are other things to question in your code but one thing at a time is best to understand. | 
| 
 | ||
| OK, thanks You :) |