Class CTest
Public
c_x As Long
c_y As Long
Function clone() As *CTest
Dim size As DWord
size=SizeOf(CTest)
clone=calloc(size)
memcpy(clone,VarPtr(This),size)
End Function
End Class
Dim test As CTest()
Dim test2 As *CTest
test.c_x=100
test.c_y=200
test2=test.clone()
test.c_x=test.c_x*2
test.c_y=test.c_y*2
Debug
free(test2)
Class CTest
Public
c_x As Long
c_y As Long
Function clone() As *CTest
Dim size As DWord
size=SizeOf(CTest)
clone=calloc(size)
memcpy(clone,VarPtr(This),size)
End Function
End Class
Dim test As CTest
Dim test2 As *CTest
Dim test3 As *CTest
test.c_x=100
test.c_y=200
test2=test.clone()
test.c_x=test2->c_x*2
test.c_y=test2->c_y*2
test3=test2->clone()
test2->c_x=test3->c_x*3
test2->c_y=test3->c_y*3
Debug
free(test3)
free(test2)
Class CTest
Public
c_x As Long
c_y As Long
Function clone() As *CTest
Dim size As DWord
size=SizeOf(CTest)
clone=New CTest()
memcpy(clone,VarPtr(This),size)
End Function
End Class
Dim test As CTest()
Dim test2 As *CTest
test.c_x=100
test.c_y=200
test2=test.clone()
test.c_x=test.c_x*2
test.c_y=test.c_y*2
Debug
Delete test2