That will destroy the whole concept of Extends, which is that the fields are placed
first in the structure, so that the structure can be passed to functions expecting a pointer to the old structure.
This is how it works:
Code:
Structure SShape
Color.l
EndStructure
Structure SRectangle Extends SShape
Width.l
Height.l
EndStructure
Procedure SShape_GetColor(*Shape.SShape)
ProcedureReturn *Shape\Color
EndProcedure
My.SRectangle\Color = $deadbeef
Debug Hex(SShape_GetColor(@My))
Multi-extending is impossible, because the fields of SSoccerField and SShape can't
both be placed first in SRectangle. That will make the code above mysteriously fail on this rectangle.
Code:
Structure SSoccerField
NumberOfPlayers.l
EndStructure
Structure SShape
Color.l
EndStructure
Structure SRectangle Extends SSoccerField Extends SShape
Width.l
Height.l
EndStructure