According to Gideros documentation, Timer.delayedCall returns a 'Timer' object, which should be the table the error message is referring to. http://docs.giderosmobile.com/reference/gideros/Timer/delayedCall
I'm not intimately familiar with Gideros but I believe you would want something closer to this:
stage:addEventListener(Event.ENTER_FRAME,
function()
Timer.delayedCall(math.random(4,8),
function()
Graphic:setRotation( Graphic:getRotation() + math.random(1,30) )
end)
end)
However, this will presumably still fire with every ENTER_FRAME event, just that each change will be delayed randomly. You may want to use a control variable so that only one Timer can be pending:
local timerPending=false
stage:addEventListener(Event.ENTER_FRAME,
function()
if timerPending then return end
timerPending=true
Timer.delayedCall(math.random(4,8),
function()
Graphic:setRotation( Graphic:getRotation() + math.random(1,30) )
timerPending=false
end)
end)