What is this meant to do? (in Update() and Render())
If n <= (TScriptElement._elementcount-1) Then Exit
I've only glanced at it, but surely this will end the loop after the first item gets processed (in your case a MusicElement which has no implementation of RenderElement().
If n <= (TScriptElement._elementcount-1) Then Exit
I've only glanced at it, but surely this will end the loop after the first item gets processed (in your case a MusicElement which has no implementation of RenderElement().