Не получит главная форма фокус в MDI приложении (ну за исключением случая, когда идет переключение между приложениями). Я в свое время просто "повесил" отдельный поток, который запускался автоматически при старте приложения и сам обновлял информацию в метке раз в 10 минут (такое ТЗ было, 10 минутного интервала было достаточно). Что-то типа такого:
Код:
// Поток
type
TInfoUpdateThread = class(TThread)
private
FInfo : String;
procedure UpdateLabel;
protected
procedure Execute; override;
end;
procedure TInfoUpdateThread.UpdateLabel;
begin
MainForm.lbInfo.Caption := FInfo;
end;
procedure TInfoUpdateThread.Execute;
begin
While not Terminated Do
Begin
// Здесь твой запрос
FInfo := TimeToStr(Time);
// Обновляем метку
Synchronize(UpdateLabel);
// Пауза
Sleep(60000); // Sleep for 1 min
End;
end;
// Главная форма
type
TMainForm = class(TForm)
private
FInfoThread : TInfoUpdateThread
...
procedure TMainForm.OnCreate(Sender : TObject);
begin
FInfoThread := TInfoUpdateThread.Create(True);
FInfoThread.FreeOnTerminate := True;
FInfoThreaf.Resume;
end;
procedure TMainForm.OnDestroy(Sender : TObject);
begin
FInfoThread.Terminate;
FInfoThread.WaitFor;
end;