I'm migrating a VCL app to FMX Mac OS. Our application opens .png files that newly appear in a specific folder. These are created by a third party app. We display them in a TImage as "pseudo-video" at about 10 fps. We don't mind if we drop files now and then. In Windows, we chose not to use the Windows hooks that are available to monitor folder events. We simply use a TTimer, calling TDirectory.GetFiles once a second and looking for a file we haven't already processed. We delete files after we've processed them, so the file list doesn't get too big. In Windows, before actually opening an image for reading, we check if it is still open by the third party app with this code: function FileClosed( const aFileName: String):Boolean; var hInputFile: THandle; begin hInputFile := CreateFile(Pchar(aFilename), GENERIC_WRITE, 0, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); Result := (hInputFile INVALID_HANDLE_VALUE); if Re...