Typecastingproblem von Quad bei statischen Arrays (x86)
Verfasst: 22.09.2010 15:06
Ich schätze mal das das hier ein TypeCasting Problem vorliegt:
Wenn das Modulo nicht über eine Long - Variable zwischengespeichert wird kommt ein "Index des Struktur-Arrays außerhalb des zulässigen Bereichs." - Fehler. Der Index ist korrekterweise aber 2, also innerhalb des Bereichs. Der Fehler tritt nur unter x86 auf.
Gruß, Alex
Code: Alles auswählen
Structure TestHolder
tStatic.a[32]
EndStructure
Macro NewHolder()
AllocateMemory(SizeOf(TestHolder))
EndMacro
Procedure GetHolder1(*Holder.TestHolder, Index.q)
Protected Level.l = Index%33
Debug "Level: "+Str(Level)
ProcedureReturn *Holder\tStatic[Level]
EndProcedure
Procedure GetHolder2(*Holder.TestHolder, Index.i)
Debug "Level: "+Str(Index%33)
ProcedureReturn *Holder\tStatic[Index%33]
EndProcedure
Procedure GetHolder3(*Holder.TestHolder, Index.q)
Debug "Level: "+Str(Index%33)
ProcedureReturn *Holder\tStatic[Index%33] ; <- Hier passier der Fehler
EndProcedure
tH = NewHolder()
Debug GetHolder1(tH, 2)
Debug GetHolder2(tH, 2)
Debug GetHolder3(tH, 2)Gruß, Alex