Opened 5 years ago
Last modified 5 years ago
#3773 closed Bug
Return value in SetError() is limited to 32-bit valuies — at Version 1
| Reported by: | jchd18 | Owned by: | |
|---|---|---|---|
| Milestone: | Component: | AutoIt | |
| Version: | 3.3.15.3 | Severity: | None | 
| Keywords: | Cc: | 
Description (last modified by jchd18)
It isn't possible to set a 64-bit return value using SetError() in either X86 or X64 modes.  It's even impossible to set a X64 pointer as return value using SetError().
OTOH Return allows 64-bit values regardless of mode.
Local $n = 0x0123456789abcdef, $r
ConsoleWrite("Passed value:" & @TAB & $n & @LF)
$r = MyRetFunc($n)
ConsoleWrite(@error & @TAB & @extended & @TAB & MyRetFunc($n) & @LF)
$r = MyErrFunc($n)
ConsoleWrite(@error & @TAB & @extended & @TAB & MyErrFunc($n) & @LF)
Func MyErrFunc($v)
	SetError(1, 2, $v)
EndFunc
Func MyRetFunc($v)
	SetError(1, 2)
	Return $v
EndFunc
    Note: See
        TracTickets for help on using
        tickets.
    