application.ProcessMessages
时间: 2023-09-26 20:14:45 浏览: 40
在 Delphi 中,`application.ProcessMessages` 是一个方法,它会强制应用程序处理当前的消息队列。这个方法通常被用于长时间运行的操作中,在这些操作中,应用程序可能会变得不响应,因为它在等待某些操作完成,而不能处理消息队列中的其他消息。通过调用`application.ProcessMessages`,可以强制应用程序处理这些消息,从而使应用程序能够响应用户的操作。但是,过度使用 `application.ProcessMessages` 可能会导致性能问题,因为它会在处理消息队列时花费大量的 CPU 时间。
相关问题
Delphi XE Application.ProcessMessages
这是一个 Delphi XE 中的方法,用于处理窗口消息队列中的消息,使得应用程序能够响应用户的操作。在长时间运行的操作中,如果不及时处理消息队列,应用程序会出现“假死”现象,即无法响应用户的操作。因此,当需要在长时间运行的操作中保持应用程序的响应性时,可以使用 Application.ProcessMessages 方法来定期处理消息队列中的消息。但是,过度使用该方法会导致应用程序的性能下降,因此需要谨慎使用。
delphi function MakeFileList(Path, FileExt: string): TStringList; var sch: TSearchrec; begin Result := TStringlist.Create; Path := trim(Path); if not DirectoryExists(Path) then begin Result.Clear; Exit; end; if FindFirst(Path + '*', faAnyfile, sch) = 0 then begin repeat // Application.ProcessMessages; if ((sch.Name = '.') or (sch.Name = '..')) then Continue; if DirectoryExists(Path + sch.Name) then begin //Result.AddStrings(MakeFileList(Path+sch.Name,FileExt)); end else begin if (UpperCase(extractfileext(Path + sch.Name)) = UpperCase(FileExt)) or (FileExt = '.*') then Result.Add(Path + sch.Name); end; until FindNext(sch) <> 0; SysUtils.FindClose(sch); end; end;
这是一个Delphi函数,用于获取指定路径下所有符合指定文件扩展名的文件列表,并返回一个TStringList类型的结果。函数名为MakeFileList,参数包括Path和FileExt。函数使用TSearchRec来进行文件搜索,首先判断指定路径是否存在,如果不存在则返回一个空的结果。接着使用FindFirst和FindNext函数来遍历指定路径下的所有文件和文件夹,如果遇到文件夹则递归调用MakeFileList函数来获取该文件夹下符合指定扩展名的文件列表,并将结果添加到当前结果中,如果遇到文件则判断该文件的扩展名是否符合要求,如果符合则将文件的完整路径添加到结果中。最后使用FindClose函数来关闭搜索句柄,并返回结果。