Я унаследовал графический интерфейс, реализованный в Delphi RadStudio2007, предназначенный для встроенной Windows XP.Я вижу много кода, который выглядит следующим образом:
procedure TStatusForm.Status_refresh;
begin
if DataModel.CommStatus = COMM_OK then begin
if CommStatusOKImage.Visible<>True then CommStatusOKImage.Visible:=True;
if CommStatusErrorImage.Visible<>False then CommStatusErrorImage.Visible:=False;
end else begin
if CommStatusOKImage.Visible<>False then CommStatusOKImage.Visible:=False;
if CommStatusErrorImage.Visible<>True then CommStatusErrorImage.Visible:=True;
end;
end
Я нашел этот пример кода на сайте Embarcadero :
procedure TForm1.ShowPaletteButtonClick(Sender: TObject);
begin
if Form2.Visible = False then Form2.Visible := True;
Form2.BringToFront;
end;
Это показываетпроверка Visible перед его изменением, но нет объяснения того, что обслуживается, сначала проверяя его.
Я пытаюсь понять, почему первоначальный разработчик считал, что необходимо установить флаг Visible, только если он былчтобы изменить его, и вместо этого он решил не кодировать его следующим образом:
procedure TStatusForm.Status_refresh;
begin
CommStatusOKImage.Visible := DataModel.CommStatus = COMM_OK;
CommStatusErrorImage.Visible := not CommStatusOKImage.Visible;
end
Есть ли какие-либо проблемы с производительностью или косметические проблемы (например, мерцание экрана), о которых мне нужно знать?