delphi – 表格是否已经打开?

前端之家收集整理的这篇文章主要介绍了delphi – 表格是否已经打开?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我一直在使用以下代码来检查表单是否已存在:
  1. function FormExists(apForm: TObject): boolean;
  2. var i: Word;
  3. begin
  4. Result := False;
  5. for i := 0 to Application.ComponentCount-1 do
  6. if Application.Components[i] = apForm then begin
  7. Result := True;
  8. Break;
  9. end;
  10. end;

几年前我从参与的项目中得到了它.这是我第一个Delphi项目之一.

有用.

但是如果有更好,更快的方法,我本周就会徘徊.

解决方法

您可以使用 Screen.Forms代替.它减少了您正在迭代的项目:
  1. function FormExists(apForm: TForm): boolean;
  2. var
  3. i: Word;
  4. begin
  5. Result := False;
  6. for i := 0 to Screen.FormCount - 1 do
  7. if Screen.Forms[i] = apForm then
  8. begin
  9. Result := True;
  10. Break;
  11. end;
  12. end;

但是,值得注意的是,如果你已经拥有apForm,你知道它存在并且没有必要搜索它.

猜你在找的Delphi相关文章