wire xyz position help

hey everyone
im trying to modify one of tim scripts to wire xyz position of 2 objects i'v freezed transform them . can any one tell me y it dosent work ???

Global WireXPos

Struct WireXPosStruct
(
fn AlreadySelected obj = (for FilterObj in (selection as array) do (if obj == FilterObj do (return false)) return true ),

fn DoWireXPos =
(
CurrentObj = $
TargetObj = pickObject filter:AlreadySelected rubberband:CurrentObj.center

if (classof CurrentObj.position.controller) == position_list then
(
paramWire.connect2way TargetObj.pos.controller.Zero_Pos_XYZ.controller[#X_Position] CurrentObj.pos.controller.Zero_Pos_XYZ.controller[1][#X_Position] "X_Position"
)
else
(
paramWire.connect2way TargetObj.pos.controller.Zero_Pos_XYZ.controller[#X_Position] CurrentObj.pos.controller.Zero_Pos_XYZ.controller[#X_Position] "X_Position"
)
)
)

WireXPos = WireXPosStruct()
WireXPos.DoWireXPos()