PROBLEM SOLVED:
The issue wasn't MacOS 10.7 per se and the problem wasn't due to a bug. Windows and MacOS handle the
OnDropFiles event differently.
In my program it wasn't the
main form that was supposed to manage the
OnDropFiles event but a modal form that was activated from the main form by the user.
This works fine in Window, i.e., the Main form probably automatically passes on the event to the modal window. With MacOS this doesn't happen (at least with MacOS 10.7).
To solve this - and making file dropping work as intended on both Windows and MacOS - one needs to set
AllowDropFiles to TRUE on the Main form and then to add an
OnDropFiles procedure to the Main form, e.g., as follows
procedure TMainForm.FormDropFiles(Sender: TObject;
const FileNames: array of String);
begin
if MyModalForm.Showing then MyModalForm.FormDropFiles(Sender, FileNames);
end;
In short, the solution was to make the main form simply pass on the event to the modal form but only if the latter is active/showing (btw, the
MyModalForm is auto-created).
To the best of my knowledge, this solution doesn't create any troublesome side-effects.