Ich hab im moment in meinem Programm einen ganz nerfigen Bug:
Der Code sieht ungefähr so aus:
Code: Alles auswählen
Structure Token
sValue.s
EndStructure
Structure ParamX
StructureUnion
*token.Token
EndStructureUnion
EndStructure
Procedure Change(*Param.ParamX)
*Param\token\sValue = "StringReturn"
Debug "Var.s = "+*Param\token\sValue
Debug "@Var.s = "+Str(@*Param\token\sValue)
EndProcedure
Define pram.ParamX\token = AllocateMemory(SizeOf(Token))
Change(@pram)
Debug "Var.s = "+pram\token\sValue
Debug "@Var.s = "+Str(@pram\token\sValue)
Nur bei mir wird irgendwie der Inhalt des Speichers überschrieben, wobei ich keine Ausfürhung mache, die so etwas bewirkt. Der Debug bei mir lautet:
Irgendetwas muss da vom PureBasic-Compiler vertauscht werden, da alles Funktioniert, wenn ich das über eine andere Procedure arbeiten lasse.[09:58:05] [Debug] Var.s = lVar
[09:58:05] [Debug] @Var.s = 9128904
[09:58:07] [Debug] Var.s = ????
[09:58:07] [Debug] @Var.s = 9128904