Permalink
Browse files

Merged AutoHotkey64 - COM support and x64 compatibility

x64:
 - Re-enable GetProcAddress optimisation for DllCall.
 - Fix floating-point return values for DllCall.
 - Fix exception handling for DllCall.
 - Fix RegEx callouts.
 - Optionally compress with mpress.

COM:
 - Allow ComObjParameter to wrap 64-bit values in 32-bit builds.
 - Implement more standard ref counting conventions in ComObjActive.
 - Prevent extraneous AddRef for new ComObjects in certain cases.
 - Don't treat pdispVal == NULL return value from Invoke as an error.
 - Fail more predictably when given wrong type of object.
 - Require explicit second param in ComObjType, don't assume "IID".
 - Free local vars after ComEvent calls a function.
 - Remove pVarResult param from ComEvent; use return value instead.
 - Pass the original wrapper ComObject in each ComEvent call.
 - Add context to ComError dialog; let the buttons make more sense.

Implement common base class for Object::Enumerator/ComEnum. This covers
  syntax validation for both. Allows only Enum.Next(...) and Enum[...],
  but now allows all parameters to be omitted.

Make "Ptr" type signed again for maximum flexibility and consistency.
  Note it can't be unsigned in 64-bit builds since we don't support
  unsigned 64-bit integers.  Leave the default for NumPut/Get unsigned
  in 32-bit builds for backward-compatibility.  Seems best to make the
  default in 64-bit builds "Ptr", even though it can't be unsigned and
  therefore might seem inconsistent.
  • Loading branch information...
Lexikos committed Jul 11, 2010
1 parent c3d844e commit ea860df6a54e2f1f7c3a611c75f6c3471dcb1955
Showing with 1,740 additions and 3,272 deletions.
  1. +0 −43 AutoHotkey.sln
  2. +0 −815 AutoHotkey.vcproj
  3. +42 −1 AutoHotkeyx.sln
  4. +99 −15 AutoHotkeyx.vcxproj
  5. +18 −1 AutoHotkeyx.vcxproj.filters
  6. +4 −1 Config.vcxproj
  7. +1 −1 source/AutoHotkey.cpp
  8. +25 −23 source/Debugger.cpp
  9. +6 −6 source/Debugger.h
  10. +4 −4 source/KuString.h
  11. +1 −0 source/StringConv.cpp
  12. +4 −4 source/StringConv.h
  13. +16 −19 source/TextIO.cpp
  14. +4 −5 source/TextIO.h
  15. +4 −4 source/application.cpp
  16. +5 −5 source/application.h
  17. +1 −1 source/clipboard.cpp
  18. +1 −1 source/clipboard.h
  19. +11 −0 source/config.h
  20. +1 −1 source/defines.h
  21. +2 −2 source/keyboard_mouse.cpp
  22. +1 −1 source/keyboard_mouse.h
  23. +0 −313 source/lib_pcre/lib_pcre.vcproj
  24. +35 −2 source/lib_pcre/lib_pcre.vcxproj
  25. +20 −20 source/lib_pcre/pcre/pcre_compile.c
  26. +13 −13 source/lib_pcre/pcre/pcre_exec.c
  27. +2 −2 source/lib_pcre/pcre/pcre_internal.h
  28. +7 −0 source/libx64call/HowToCompile.txt
  29. +106 −0 source/libx64call/x64call.asm
  30. +36 −0 source/libx64call/x64stub.asm
  31. +0 −1,715 source/misc/function_order_for_linker_optimization.txt
  32. +44 −0 source/qmath.h
  33. +2 −2 source/resources/AutoHotkey.exe.manifest
  34. +43 −13 source/script.cpp
  35. +16 −8 source/script.h
  36. +217 −102 source/script2.cpp
  37. +6 −6 source/script_autoit.cpp
  38. +663 −0 source/script_com.cpp
  39. +109 −0 source/script_com.h
  40. +15 −1 source/script_expression.cpp
  41. +2 −2 source/script_gui.cpp
  42. +83 −75 source/script_object.cpp
  43. +26 −13 source/script_object.h
  44. +13 −13 source/util.cpp
  45. +11 −6 source/util.h
  46. +15 −7 source/var.h
  47. +5 −5 source/window.cpp
  48. +1 −1 source/window.h
View
@@ -1,43 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual C++ Express 2008
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AutoHotkey", "AutoHotkey.vcproj", "{76EFDEE3-81CF-4ADA-94DC-EA5509FF6FFC}"
- ProjectSection(ProjectDependencies) = postProject
- {39037993-9571-4DF2-8E39-CD2909043574} = {39037993-9571-4DF2-8E39-CD2909043574}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_pcre", "source\lib_pcre\lib_pcre.vcproj", "{39037993-9571-4DF2-8E39-CD2909043574}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Release (minimum size)|Win32 = Release (minimum size)|Win32
- Release|Win32 = Release|Win32
- SC (minimum size)|Win32 = SC (minimum size)|Win32
- SC (self-contained)|Win32 = SC (self-contained)|Win32
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {76EFDEE3-81CF-4ADA-94DC-EA5509FF6FFC}.Debug|Win32.ActiveCfg = Debug|Win32
- {76EFDEE3-81CF-4ADA-94DC-EA5509FF6FFC}.Debug|Win32.Build.0 = Debug|Win32
- {76EFDEE3-81CF-4ADA-94DC-EA5509FF6FFC}.Release (minimum size)|Win32.ActiveCfg = Release (minimum size)|Win32
- {76EFDEE3-81CF-4ADA-94DC-EA5509FF6FFC}.Release (minimum size)|Win32.Build.0 = Release (minimum size)|Win32
- {76EFDEE3-81CF-4ADA-94DC-EA5509FF6FFC}.Release|Win32.ActiveCfg = Release|Win32
- {76EFDEE3-81CF-4ADA-94DC-EA5509FF6FFC}.Release|Win32.Build.0 = Release|Win32
- {76EFDEE3-81CF-4ADA-94DC-EA5509FF6FFC}.SC (minimum size)|Win32.ActiveCfg = SC (minimum size)|Win32
- {76EFDEE3-81CF-4ADA-94DC-EA5509FF6FFC}.SC (minimum size)|Win32.Build.0 = SC (minimum size)|Win32
- {76EFDEE3-81CF-4ADA-94DC-EA5509FF6FFC}.SC (self-contained)|Win32.ActiveCfg = SC (self-contained)|Win32
- {76EFDEE3-81CF-4ADA-94DC-EA5509FF6FFC}.SC (self-contained)|Win32.Build.0 = SC (self-contained)|Win32
- {39037993-9571-4DF2-8E39-CD2909043574}.Debug|Win32.ActiveCfg = Debug|Win32
- {39037993-9571-4DF2-8E39-CD2909043574}.Debug|Win32.Build.0 = Debug|Win32
- {39037993-9571-4DF2-8E39-CD2909043574}.Release (minimum size)|Win32.ActiveCfg = Release (minimum size)|Win32
- {39037993-9571-4DF2-8E39-CD2909043574}.Release (minimum size)|Win32.Build.0 = Release (minimum size)|Win32
- {39037993-9571-4DF2-8E39-CD2909043574}.Release|Win32.ActiveCfg = Release|Win32
- {39037993-9571-4DF2-8E39-CD2909043574}.Release|Win32.Build.0 = Release|Win32
- {39037993-9571-4DF2-8E39-CD2909043574}.SC (minimum size)|Win32.ActiveCfg = Release|Win32
- {39037993-9571-4DF2-8E39-CD2909043574}.SC (minimum size)|Win32.Build.0 = Release|Win32
- {39037993-9571-4DF2-8E39-CD2909043574}.SC (self-contained)|Win32.ActiveCfg = Release|Win32
- {39037993-9571-4DF2-8E39-CD2909043574}.SC (self-contained)|Win32.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
Oops, something went wrong.

0 comments on commit ea860df

Please sign in to comment.