Jump to content

Sky Slate Blueberry Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate
Photo

AutoHotkey_L v1.1.02.03


  • Please log in to reply
21 replies to this topic
Lexikos
  • Administrators
  • 9844 posts
  • AutoHotkey Foundation
  • Last active:
  • Joined: 17 Oct 2006
1.1.02.00

Added TV_SetImageList(), for flexibility and consistency with LV_SetImageList().

Characters which require non-standard shift states 16 and 32 now use a fallback method instead of producing the wrong keystrokes. Specifically, the Neo2 keyboard layout should now work correctly. See this post for more details.

Handling of dead keys has been revised to solve problems which occur when multiple scripts with hotstrings are active. Although I have tested thoroughly, I don't ordinarily use dead keys, so I may have missed something. If you use dead keys and hotstrings or the Input command, please test your scripts before and after updating.

1.1.02.01 - August 13, 2011

Changed A_PriorKey to exclude key-up events.

Fixed process name/path retrieval in certain cases, including:
[*:bgvgyrzq]Retrieving name/path of a 64-bit process from a 32-bit script.
[*:bgvgyrzq]Retrieving name/path of an elevated process from a non-elevated process (UAC).1.1.02.02 - August 20, 2011

Fixed: Variable capacity was capped at 2GB on x64 builds.
Fixed: Last Found Window not set by #if WinExist(T).

1.1.02.03 - August 21, 2011

Fixed (Debugger): numchildren attribute did not include Object.Base.
(This caused problems in Notepad++ and XDebugClient in certain cases.)


Downloads (etc.)



Seidenweber
  • Moderators
  • 638 posts
  • Last active: Sep 06 2015 01:51 PM
  • Joined: 10 May 2011
Great job! Thanks for bug fixing on v1.1 while v2 is in development.

All questions & answers are related to AHK 1.1.19.03 x64 Unicode

 


fincs
  • Moderators
  • 1662 posts
  • Last active:
  • Joined: 05 May 2007
Bug/annoyance: the downloader in the debugging script uses the IE cache by default. The S4AHK installer has a fixed version of it that forces a redownload.

EDIT: It appears that the new installer, even though it installs all the SC binaries, it doesn't install the new version of Ahk2Exe (if you planned to include it in this release, that is). The updater script, on top of that, doesn't install the additional SC binaries.

EDIT2: AutoHotkey_L_Install.exe still pulls v1.1.01 :\ Perhaps it's just the cache anyway...

Lexikos
  • Administrators
  • 9844 posts
  • AutoHotkey Foundation
  • Last active:
  • Joined: 17 Oct 2006
I remember experimenting with different flags, and different ways to pass them (dwReserved, via the callback, URLDownloadToCacheFile vs URLDownloadToFile, etc.), but I didn't have a lot of success, so eventually I just gave up.

I did intend to include your Ahk2Exe script, and I actually copied it to the installer include directory. Then I run my release script, which automatically rebuilt Ahk2Exe.vcproj and "updated" it for me. ;)

If I look in my Temporary Internet Files folder, I see AutoHotkey110200.zip, associated with http://.../v/AutoHotkey110200.zip. This file typically won't change, so it doesn't matter much if it's cached. However, my experimentation with DeleteUrlCacheEntry indicated that there is a separate cache entry for http://.../AutoHotkey_Lw.zip. I suppose this means the redirect is cached. Since the first call to DeleteUrlCacheEntry succeeds and subsequent calls fail, I presume it successfully removes the cache entry, which should help.

I will update the update script soon.


EDIT: I've been testing with a frequently changing redirect (via .htaccess) and a bunch of timestamp files.
[*:26a35vcl]With the function as it was, I pretty much always get the old/wrong file.
[*:26a35vcl]With the URLDownloadToFile command, I always get the right file and nothing gets written to the cache.
[*:26a35vcl]With DeleteUrlCacheEntry, the updated redirect is seen but the target file is still pulled from cache. Both the redirect and target file are written to the cache.
[*:26a35vcl]With URLDownloadToCacheFile, everything is downloaded fresh, but the redirect and target file are still written to the cache. This seems to be the case even if I use FileMove vs FileCopy.EDIT2: Using FileMove instead of FileCopy seems to be a bad idea; sometimes it fails as the file is still in use.

EDIT3: I've updated the updater to work around the cache problems and also update the additional bin files used by the new Ahk2Exe. Running the old update script should be sufficient to let it auto-update. I've also updated my release script to pull the latest Ahk2Exe source from github, run it over itself with the the latest Unicode 32-bit bin, then compress and upload it. All three bin files are now included in Ahk2Exe_L.zip instead of the other three zips (a/w/w64).

fincs
  • Moderators
  • 1662 posts
  • Last active:
  • Joined: 05 May 2007
Thanks for your quick and detailed reply.

PS: Wouldn't it be a good idea to have a Release branch in the Ahk2Exe repo? I might be in the middle of implementing something when you decide to release a new AutoHotkey_L version.

EDIT: I've just created it.

Lexikos
  • Administrators
  • 9844 posts
  • AutoHotkey Foundation
  • Last active:
  • Joined: 17 Oct 2006
Thanks. I tend to avoid pushing to git hub when I'm "in the middle of implementing something". I'd intended to add git pull to my script, but had forgotten to actually do it. :oops:

jethrow
  • Moderators
  • 2854 posts
  • Last active: May 17 2017 01:57 AM
  • Joined: 24 May 2009
Very nice to see Ahk2Exe updated :D . Just one thing - it would be nice if it would add the .exe to the end of the output file if the user doesn't include it.

Lexikos
  • Administrators
  • 9844 posts
  • AutoHotkey Foundation
  • Last active:
  • Joined: 17 Oct 2006
I suggest any requests relating to the new Ahk2Exe be posted in fincs' thread, though he'll probably still see them if they're posted here.

pekkle
  • Members
  • 13 posts
  • Last active: Nov 07 2013 04:27 AM
  • Joined: 20 Jan 2009
ahk2exe is not working properly

#include same ahk file multiple times, the source ahk could run properly, but not the compiled exe file... there will be error

Lexikos
  • Administrators
  • 9844 posts
  • AutoHotkey Foundation
  • Last active:
  • Joined: 17 Oct 2006
What did I just say? :roll: Oh well, I've opened an issue on the Ahk2Exe issue tracker.

For now, just don't #include the same ahk file multiple times...

pekkle
  • Members
  • 13 posts
  • Last active: Nov 07 2013 04:27 AM
  • Joined: 20 Jan 2009
Thx... btw, sorry for that I've overlooked your previous post.... :twisted:

Lexikos
  • Administrators
  • 9844 posts
  • AutoHotkey Foundation
  • Last active:
  • Joined: 17 Oct 2006
fincs has fixed the problem and I've updated the downloads. (Thanks fincs.)

IsNull
  • Moderators
  • 990 posts
  • Last active: May 15 2014 11:56 AM
  • Joined: 10 May 2007
class Car
{
	var Data
	
	DoSomething(){
		MsgBox % "I'm a Car and the data is: " this.Data
	}
	
	__new(dat){
		this.Data := dat
	}
}

****\Desktop\EventHandler.ahk (6) : ==> Expected assignment or class/method definition.
Specifically: var Data


:?:


The new "static" descriptor seems to work. :)

jethrow
  • Moderators
  • 2854 posts
  • Last active: May 17 2017 01:57 AM
  • Joined: 24 May 2009
var is now static

IsNull
  • Moderators
  • 990 posts
  • Last active: May 15 2014 11:56 AM
  • Joined: 10 May 2007

var is now static


Huh?

Use of the var keyword in class definitions to declare static class variables should be avoided, as a future version (probably the next release) will repurpose it for declaring instance variables. There are some cases where behaviour won't be adversely affected; in other cases, scripts should be updated to use the static keyword.

Which means that var is now for Instance Fields (which is not implemented yet), and static for Static Fields.
:?:

Can't see any announcement who points out that var is obsolete now :?


Edit:

I've decided to remove the "var" keyword entirely in the next release. Instance variables will be declared/initialized by simply writing Name := Expression in the class definition, outside any method definitions. However, note that Name is the only context in which you will be able to refer to an instance variable without specifying the object (like this.Name). Expression can refer to this, but any other variable reference will be global.


Well then. Why is this breaking change info not in the change log itself?