сорри, возможно что то не понятно написал.
Детализирую:
используется ПО для контроля тех процесса, написано на 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(
Буду благодарен за любые мысли по данной проблеме