Page 1 of 1

SC copydata() running before browsing certain folders can cause XY to freeze

Posted: 14 Jul 2024 16:17
by Norn
Browsing some HDD's folders causes XY to freeze, as if XY is always waiting? All modes of this function have the same result.
Configuration | General | Custom Event Actions | Before browsing a folder

Code: Select all

copydata $es_hwnd, "<newpath><crlf><hwnd>", 0;
The destination is an AutoHotkey v2 script. I suspected that XY was busy, so I set it to return the result to XY after 10 seconds. At this time, XY was fully ready, but it still froze.
The "EV FOR XY" folder in the archive needs to be placed in the Scripts folder.
EV FOR XY.zip

Re: SC copydata() running before browsing certain folders can cause XY to freeze

Posted: 14 Jul 2024 16:54
by highend
It's the same with mode = 2?

Re: SC copydata() running before browsing certain folders can cause XY to freeze

Posted: 14 Jul 2024 17:08
by Norn
All modes of this function have the same result.
Yep.
AutoHotkey has multiple ways, so it should be possible to improve it.
AHK_Send.png

Re: SC copydata() running before browsing certain folders can cause XY to freeze

Posted: 14 Jul 2024 17:10
by highend
Mh, can't test it here, no hdds any more...

Re: SC copydata() running before browsing certain folders can cause XY to freeze

Posted: 17 Jul 2024 17:07
by Norn
I set a higher delay: 60 seconds and everything works fine until the AHK script sends a message to XY, as soon as it sends a message to XY, XY freezes.
It seems that this is not a problem with copydata(). Is it that XY fails to receive messages after entering a certain HDD folder? (Looks like a bug)

Re: SC copydata() running before browsing certain folders can cause XY to freeze

Posted: 17 Jul 2024 17:13
by Norn
But I comment out the line of code that sends a message to XY, and then use another AHK script to send a message to XY without any problem. Eh? :eh:

Edit:
It still seems to be a copydata() problem? I turned off the CEA event and manually ran the copydata() command before entering the folder. After 10 seconds, XY was still frozen.

Code: Select all

 perm $es_results = "";
 copydata $es_hwnd, "<curitem><crlf><hwnd>", 0;
Edit2:
It seems to have nothing to do with copydata(). The same result is obtained using run.

Code: Select all

 perm $es_results = "";
 run """D:\Program Files\XYplorer\Data\Scripts\EV FOR XY\es_thread.ahk"" <curitem> <hwnd>"