сорри, возможно что то не понятно написал.
Детализирую:
используется ПО для контроля тех процесса, написано на foxpro2.6 из тектовой моды этой программы (на фоксе) запускаются исполняемые файлы писанные на клипере, паскале, они работают в графичейкой моде. Эти приложения отображают данные из БД .dbf в соответствии с системным временем.
Проблема работы данного ПО обнаружилась на win2k,xp, если во время работы программы переключиться в др. задачу виндов. Если работает только фокс, то переключения задач переносится нормально, время в фоксе действительное. Если же открыть графическую программу поработать переключиться в др.вин.задачу, поработать а потом опять в граф.задачу, то время начнет тикать с момента 1 переключения. И все данные показываюся некоректно. Более того при выходе из этого граф.приложения в техт. моду фокса - время все равно остается кривое.
Для разделения проблемы был написан тестовый пример на пасе, на нем я и экспериментировал, пример ниже
uses crt, graph, dos;
var 	
gm, gd:integer;
	
	
result:integer;
	
	
h2, m2, s2, ss2:word;
	
	
s01:string;
function IntToStr(I: Longint): String;
{ Convert any integer type to a string }
var
 S: string[11];
begin
 Str(I, S);
 IntToStr := S;
end;
begin
	
gd:=detect;
	
initGraph(gd,gm,\'\');
	
result:=GraphResult;
	
if Result<>grok then
	
begin
	
	
TextBackground(0);
	
	
ClrScr;
	
	
Writeln(\'Ошибка инициализации графики\',Result,\' \',gD,\' \',gM);
	
	
Delay(2000);
	
	
Halt;
	
end;
	
repeat
	
	
getTime(h2,m2,s2,ss2);
	
	
s01:=intToStr(h2)+\':\'+IntToStr(m2)+\':\'+IntToStr(s2)+\'.\'+IntToStr(ss2);
	
	
SetFillStyle(0,0);Bar(0,0,100,100);SetColor(15);
	
	
OutTextXY(10,10,s01);
	
until keyPressed;
	
closeGraph;
	
textMode(CO80);
end.
этот пример просто гоняет время в граф.моде, при переключении в другие задачи время останавливается 8(
Буду благодарен за любые мысли по данной проблеме