Drag and Drop from Explorer to Listbox not working?

Because of a bug report I’ve received from a customer with brand new Microsoft Surface systems running the May 2020 Windows 10 update, I’ve just created the simplest app that I can think of for testing drag and drop. My lab team built a brand new i7 system and installed the May 2020 update onto it. I then installed JUST Xojo 2019r3.1 - NO added plugnis and no other Windows software.

Created a new Desktop Project
Set the build type to Windows 64bit
Added a Listbox to the default Window
Enabled Show Drop Indicator in the ListBox properties
Added the “DropObject” event to the ListBox
Added this code to that event:

If obj.FolderItemAvailable Then Me.AddRow obj.FolderItem.NativePath ElseIf obj.TextAvailable Then me.AddRow obj.Text End If
Run the project
Try and drag the C: drive from an Explorer window with “This PC” open (also tested a simple text file from my home folder)

The drag gets the NOT symbol as soon as I hover over the Xojo app and I can’t drop the selection onto the listbox.

The same code works on macOS and Linux.

What have I missed? Something in W10 May 2020 that’s biting us?

[EDIT] - the issue is that Windows requires Me.AcceptFileDrop("???") in the ListBox.Open event instead of the expected Me.AcceptFileDrop(“Any”) with an entry in a FileTypes module.

Where’s your Accept code ?
You have to accept some kinds of drops or nothing works

Sorry - I forgot that I’d added the Accept in the ListBox1.Open event:

Me.AcceptFileDrop("Any") Me.AcceptTextDrop

The online docs on the ListBox are very lacking. I’ve seen many requests for improvements in Feedback, but Feedback’s search is being as helpful as always …

For example -

If I want a listbox to accept “Any” filetype, is it enough to only have the default “Any” entry in the FileTypes module? Do I also need to add the AcceptileDrop() to the Listbox’s parent window, container, etc. for it to get through to the ListBox?

I have always done an empty string for accept-any. However, I haven’t seen drag & drop work on Windows so it could be the wrong thing to do. Drag and drop on Windows being broken is the biggest noticeable difference between platforms for Plugins Pro.

Here’s my simple test - if anyone can see what I’m obviously missing …


Found the answer in an old feedback from last year - change the AcceptFileDrop(“Any”) to AcceptFileDrop("???").

Making that change to the listbox sorted this.

Curious why you’d have used “Any” ?
Did you have a file type named Any ?

Yes - I always have special/any as Any in my default Filetypes module.

Ok, I need a clarification. I have a filetype defined (in FileTypes1) with the Name ‘Any’ and the Display Name ‘special/any’. Which should I use in <>.AcceptFileDrop statements?

For a test,

Me.AcceptFileDrop ("special/any") ' this works Me.AcceptFileDrop ("Any") ' this fails

That kind of answers the question but why have a Name if you still have to use the Display Name?

It seems to only be an issue with Windows. Just using “Any” works with Linux and macOS. Also, I suspect that it also works with “some” versions of Windows since we’re not receiving feedback from other users.