--A local script inside a frame
function Done()
print(script.Parent.AbsolutePosition)
end
local Direction = Enum.EasingDirection.InOut
local Style = Enum.EasingStyle.Quad
local Time = 1
script.Parent:TweenPosition( UDim2.new(0,50,0,50),Direction ,Style,Time,true,Done())
I expected Done() to print 50,50 but its being called when the tween starts instead of when it ends, what am I doing wrong?

3 comments
Is there anyway to pass a variable to Done?
instead of passing Done use an anonymous function to call it: function() Done(args) end
Done is an anonymous function as well.