Thanks I tried that unfortunately it does't have any effect on my core problem which is stated quite badly above. To re-iterate.
I have some code in the actor script which replaces the actor talk function. Basically the text is passed to to a method in the actor script which firstly initiates a window, that window contains an entity container, and it is the contained entity that "talks"
The talking animation is working very nicely and appears to be in an constant position within the window, the problems comes with the subtitles which don't stay in a fixed relationship with the entity or the entity container, but rather want to follow a position which is relative to the scrolling window.
This being the case my strategy was before the talk statement to first test if the window is scrolling, and if that was the case in some way to stop the scrolling process, none of this appears to work.
First Prize would be that the window and all of it's objects are fixed, whatever scrolling occurs in the background, second prize would be to be able to test for the scrolling condition and if necessary suspend scrolling until such time as it ceases
method speak(texti)
{
var tempstate = Game.Interactive;
Game.Interactive= false;
global dlgWin = Game.LoadWindow("interface\menu\newresponse.window");
dlgWin.GoSystemExclusive;
dlgWin.InGame = true;
var speaker = dlgWin.GetControl("robot");
var talkrobot = speaker.GetEntity();
talkrobot.SetSprite("theads\ron.png");
talkrobot.SetTalkSprite("theads\ron.sprite");
talkrobot.SetFont("fonts\1942.font");
talkrobot.SubtitlesPosRelative = true;
talkrobot.SubtitlesPosXCenter = false;
talkrobot.SubtitlesWidth = 200;
talkrobot.SubtitlesPosY = 90;
talkrobot.SubtitlesPosX = 180;
Sleep(10);
talkrobot.Talk(texti);
Game.UnloadObject(dlgWin);
Game.Interactive=tempstate;