Old OSs support | Deprecated functions | FileSelect | FileSave | DirSelect

Discuss the future of the AutoHotkey language
User avatar
Flipeador
Posts: 1149
Joined: 15 Nov 2014, 21:31
GitHub: Flipeador
Location: Argentina
Contact:

Old OSs support | Deprecated functions | FileSelect | FileSave | DirSelect

12 May 2019, 21:35

I wonder if support for Windows XP (and earlier) in AutoHotkey v2 will be completely removed (from the source code and the manifest). I think that when a major version is released, these things should be taken into account and support should be abandoned for OSs no longer mantained.
Because of: Increased effort to maintain source code, increased code size, use of "juggling" to maintain compatibility (which may affect performance). For example, assuming a version 3 of AutoHotkey is released very much in the future, support for Windows V/7 could be dropped. No one currently programming a "modern" application will bother giving support for Windows XP, or even Vista, an older major version can be used for that (1.0, 1.1).

With regard to the deprecated WINAPI functions, they should be updated, I'm talking about FileSelect and DirSelect (probably also those related to Sound). The reason is simple, they could stop working (or malfunction) on any Windows update, plus they provide limited functionality.
I propose to add a FileSave function, which together with FileSelect and DirSelect, they could be like my functions: SaveFile, ChooseFile and ChooseFolder.
Spoiler
:wave:
lexikos
Posts: 6668
Joined: 30 Sep 2013, 04:07
GitHub: Lexikos

Re: Old OSs support | Deprecated functions | FileSelect | FileSave | DirSelect

13 May 2019, 15:59

I have not made any effort to maintain Windows XP (or 2000!) support in a long time. In fact, I recently changed the alpha project configuration so that it no longer prefers VS2010 for 32-bit builds, since newer compilers support more modern C++ language features. I think this might break Windows 2000 support, actually, but I didn't care to test it.

I wrote a little about it in the project readme:
AutoHotkey supports Windows XP with or without service packs and Windows 2000 via an asm patch (win2kcompat.asm). Support may be removed if maintaining it becomes non-trivial. Older versions are not supported.
Source: Lexikos/AutoHotkey_L at alpha
Aside from SoundGet/SoundSet, which I intend to review before v2.0, I do not think there is much specific to Windows XP that would affect code size visibly. The only other thing I can think of at the moment is owner-drawn menu icons, which are used only on 2k/XP but can be removed without affecting functionality much.
Flipeador wrote:The reason is simple, they could stop working
That's unlikely. Haven't you seen 20-30 year old Windows 3.1 file dialogs used in modern programs? I have.
(or malfunction) on any Windows update
I have every confidence in Microsoft's ability to make old and new things malfunction via Windows update.
No one currently programming a "modern" application will bother giving support for Windows XP
I am sometimes required to deal with Windows XP and Vista computers at work, and I use modern software which supports Windows XP. Although I honestly don't use AutoHotkey much at work, the ability to run AutoHotkey v2 on a Windows XP computer might be directly useful to me. If I have a v2 script and want to use it on XP, I'm not going to want to rewrite the script for v1, especially while at work.

However, I have no problem whatsoever with reduced functionality on Windows XP.
I'm talking about FileSelect ... they provide limited functionality.
What are the new capabilities?
I propose to add a FileSave function
What's the difference between FileSave and FileSelect other than default options?

I would like to add here the functions marked to be removed in the documentation
What is the purpose in combining multiple distinct topics in this manner? You don't think they're worth a separate topic, or worth discussing? You want the discussion to branch in multiple directions and be harder to follow? For one of your other topics, this stopped me from marking an issue as solved, because you combined it with a bunch of unrelated things. Now if I review the topic, I need to skim through things that no longer matter.
User avatar
Flipeador
Posts: 1149
Joined: 15 Nov 2014, 21:31
GitHub: Flipeador
Location: Argentina
Contact:

Re: Old OSs support | Deprecated functions | FileSelect | FileSave | DirSelect

13 May 2019, 16:56

this stopped me from marking an issue as solved, because you combined it with a bunch of unrelated things
That's right, I admit it, do you think I should have created four topics?. Well, you can edit it as you like, I can't now, but if you want, as soon as I can, I'll separate them and that's it. I'll take it into account for next time.
What's the difference between FileSave and FileSelect other than default options?
I created these two functions for convenience and clarity, to not use the Flags parameter. Of course, if it is implemented, you don't have to repeat all the code, like I did.
What are the new capabilities?
Custom places, more options, better filter... And more, that you can read in the documentation of the interfaces. In addition, the dialogs are not the same, mainly the choose folder dialog.

:wave:
lexikos
Posts: 6668
Joined: 30 Sep 2013, 04:07
GitHub: Lexikos

Re: Old OSs support | Deprecated functions | FileSelect | FileSave | DirSelect

13 May 2019, 17:04

[...] do you think I should have created four topics?
There should be a 1:1 correlation between topics and topics. If a topic of discussion is not worth creating a separate thread-topic for and not related to an existing one, don't post about it. If you think it's worth posting about, then it's worth creating a topic for.

I'm not going to split your topic and I do not suggest that you try. If you just take it into account in future, I will appreciate it.
And more, that you can read in the documentation of the interfaces.
I'm not interested enough to do that. If there are features that would require altering the syntax of FileSelect, I would appreciate a summary. If they do not require changes up front to prevent scripts breaking when they are added, I am not interested in implementing them right now. Anyone else can give it a shot.
In addition, the dialogs are not the same, mainly the choose folder dialog.
See FileSelectFolder Dialog, and my reply in particular.
User avatar
Flipeador
Posts: 1149
Joined: 15 Nov 2014, 21:31
GitHub: Flipeador
Location: Argentina
Contact:

Re: Old OSs support | Deprecated functions | FileSelect | FileSave | DirSelect

13 May 2019, 17:27

If you just take it into account in future, I will appreciate it.
Sure. :thumbup:
If there are features that would require altering the syntax of FileSelect, I would appreciate a summary
I have provided you with 3 links to my functions, whose syntax, functionality and proposed parameters are clearly documented. The Owner parameter can be removed.
See FileSelectFolder Dialog, and my reply in particular
If you hate it, I can't argue against it. ;)
lexikos
Posts: 6668
Joined: 30 Sep 2013, 04:07
GitHub: Lexikos

Re: Old OSs support | Deprecated functions | FileSelect | FileSave | DirSelect

13 May 2019, 23:25

I think you entirely missed the point of
If there are features that would require altering the syntax of FileSelect, I would appreciate a summary
I am not particularly interested, and not going to go to any effort to find a reason to become interested. On the other hand, if someone shows that the above exists, I will do something about it (eventually).

Return to “AutoHotkey v2 Development”

Who is online

Users browsing this forum: No registered users and 7 guests