need help with casting array from list to object

BlitzMax Forums/BlitzMax Beginners Area/need help with casting array from list to object

i've an object called tPlanet
this object have some different field that like stings floats and intgers...

to fill all this fields i've used a realy long string that will come from a webpage.
with a function i've filled a list with the variables, and then i've converted the list in array.
ok...
now there is the code:
(save it where you have your MiniB3D example, should works.. but maybe not)
Import "../MiniB3D.bmx"
Strict
Local width=640,height=480,depth=16,mode=0
Graphics3D width,height,depth,mode

Local cam:TCamera=CreateCamera()
Local light:TLight=CreateLight()

Global planets:TList New TList

ListAddLast(planets, "PlanetA")
ListAddLast(planets, "Plutone")
ListAddLast(planets, "1")
ListAddLast(planets, "250") 
ListAddLast(planets, "400") 
ListAddLast(planets, "PlanetB")
ListAddLast(planets, "Jupiter") 
ListAddLast(planets, "2")
ListAddLast(planets, "300") 
ListAddLast(planets, "500") 

Type TSolSys
	Field Id:Int
	Field Name:String
	Field totPlanet:Int
	
	Method CreateSystem()
		Local plntMesh:TMesh[]
		Local pianeta:tPlanet[]
		Local sysArr:Object[] = ListToArray(planets)
		Local i:Int , plntCntr:Int = 0
		
		For i = 0 To sysArr.length - 1
			If Left(String(sysArr[i]) , 6) = "Planet" Then
				myplanet= myplanet[0..plntCntr+ 1]
				myplanet[plntCntr] = New tPlanet
				myplanet[plntCntr].panetName = String(sysArr[i+ 1])
				myplanet[plntCntr].panetID = String(sysArr[i + 2]).toInt
				myplanet[plntCntr].posX = String(sysArr[i + 3]).toFloat
				myplanet[plntCntr].posY = String(sysArr[i + 4]).toFloat
				
				plntMesh = plntMesh[0..cntPlnt+1]
				plntMesh[plntCntr] = CreateSphere()
				PositionEntity plntMesh[plntCntr], myplanet[plntCntr].posX, myplanet[plntCntr].posY
			End If 
		Next
	End Method
End Type

Type TPlanet ' Extends TSolSys
	Field panetID:Int
	Field panetName:String
	Field posX:Float
	Field posY:Float
End Type

' used by camera code
Local mxs#=0
Local mys#=0
Local move#=0.5
MouseXSpeed() ' flush
MouseYSpeed() ' flush

Local SistemaSolare:tSolSys = New tSolSys
SistemaSolare.createSystem()

While Not KeyDown(KEY_ESCAPE)		

	' control camera mouse look
	mxs#=mxs#+(MouseXSpeed()/5.0)
	mys#=mys#+(MouseYSpeed()/5.0)

	RotateEntity cam,mys#,-mxs#,0

	MoveMouse width/2,height/2
	MouseXSpeed() ' flush
	MouseYSpeed() ' flush

	' move camera forwards/backwards/left/right with cursor keys
	
	If KeyDown(KEY_UP)=True Then MoveEntity cam,0,0,move# ' move camera forward
	If KeyDown(KEY_DOWN)=True Then MoveEntity cam,0,0,-move# ' move camera back

	If KeyDown(KEY_LEFT)=True Then MoveEntity cam,-move#,0,0 ' move camera left
	If KeyDown(KEY_RIGHT)=True Then MoveEntity cam,move#,0,0 ' move camera right

	RenderWorld
	Flip
Wend
End


the error that i've got is "unable to convert from int() to int"
on this line
pianeta[plntCntr].panetID = String(sysArr[i + 2]).toInt


i've lost a pair of days testing and studing the casting but looks that i can't solve it by my self :(

toInt() is a method, you should be calling it like one.

you mean something like
Int(string(sysArr[i+2]))


lol.. damned VB :-X

Actually I meant
String(sysArr[i + 2]).toInt()
But you can use Int() instead.