Posted: Mon Feb 10, 2003 6:16 pm
Restored from previous forum. Originally posted by pythagoras.
I've seen this example using pointers :
Structure WhatEver
Value1.b
Value2.l
EndStructure
Procedure GetIt()
Var.WhatEver
Var\Value1 = 5
ProcedureReturn @Var ; Return Pointer
EndProcedure
*NewVar.WhatEver = GetIt() ; get Result
Debug *NewVar\Value1
When i try to do the same thing with my code it always crash when the procedure return the @var (see code below). Anyone knows why ?
Thanks in advance,
yannis
--- code pasted
;-- create SITE type
Structure SITE
Id.b
Image.b
EndStructure
;-- create SECTOR type
Structure SECTOR
*Site1.SITE
*Site2.SITE
*Site3.SITE
Income.w
Owner.s
EndStructure
; Create the players array
Dim sector_array.SECTOR(7,7)
Global arboretum.SITE
arboretum\Id = 1
arboretum\Image = 1
arena.SITE
arena\Id = 2
arena\Image = 2
(etc...)
Procedure TranslateSite(i)
sit.SITE
Select i
Case 1
CopyMemory( @arboretum, @sit, SizeOf( SITE ) )
ProcedureReturn @sit
Case 2
(etc...)
EndSelect
EndProcedure
I then call translatesite this way :
sector_array(1,1)\site1 = TranslateSite(11)
I've seen this example using pointers :
Structure WhatEver
Value1.b
Value2.l
EndStructure
Procedure GetIt()
Var.WhatEver
Var\Value1 = 5
ProcedureReturn @Var ; Return Pointer
EndProcedure
*NewVar.WhatEver = GetIt() ; get Result
Debug *NewVar\Value1
When i try to do the same thing with my code it always crash when the procedure return the @var (see code below). Anyone knows why ?
Thanks in advance,
yannis
--- code pasted
;-- create SITE type
Structure SITE
Id.b
Image.b
EndStructure
;-- create SECTOR type
Structure SECTOR
*Site1.SITE
*Site2.SITE
*Site3.SITE
Income.w
Owner.s
EndStructure
; Create the players array
Dim sector_array.SECTOR(7,7)
Global arboretum.SITE
arboretum\Id = 1
arboretum\Image = 1
arena.SITE
arena\Id = 2
arena\Image = 2
(etc...)
Procedure TranslateSite(i)
sit.SITE
Select i
Case 1
CopyMemory( @arboretum, @sit, SizeOf( SITE ) )
ProcedureReturn @sit
Case 2
(etc...)
EndSelect
EndProcedure
I then call translatesite this way :
sector_array(1,1)\site1 = TranslateSite(11)