Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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