Custom Query (3931 matches)
Results (67 - 69 of 3931)
| Ticket | Resolution | Summary | Owner | Reporter |
|---|---|---|---|---|
| #1541 | Fixed | _WinAPI_FillRect not x64 safe | ||
| Description |
This code from the _WinAPI_FillRect UDF is not properly created for x64 mode. "dword" is not the same size as "handle" in x64 mode. This conditional statement should be modified: If IsPtr($hBrush) Then
$aResult = DllCall("user32.dll", "int", "FillRect", "handle", $hDC, "ptr", $ptrRect, "handle", $hBrush)
Else
$aResult = DllCall("user32.dll", "int", "FillRect", "handle", $hDC, "ptr", $ptrRect, "dword", $hBrush)
EndIf
Instead of two alternate calls to FillRect, one would suffice. The If/Else can be removed, and the last parameter can be changed to "dword_ptr": $aResult = DllCall("user32.dll", "int", "FillRect", "handle", $hDC, "ptr", $ptrRect, "dword_ptr", $hBrush)
|
|||
| #1677 | Fixed | ContinueLoop multiple level unpredictable behavior | ||
| Description |
Hi, I've recently had a WEIRD issue pop up in my code - I kept getting a "Variable used without being declared" error. It turns out the issue has to do with ContinueLoop on multiple levels (ContinueLoop #). Since I removed the inner loop and forgot to remove the '2' from ContinueLoop, it was jumping to another loop. However, here's the funky thing - the OTHER loop was in another function! (in this case, the calling function). I've successfully reproduced the issue here: Func TestContinueLoopIssue($iValue)
While 1
If $iValue Then
ContinueLoop 2
EndIf
Wend
EndFunc
Func OuterFunc()
Local $iVal=5
While 1
$iVal+=1
ConsoleWrite("OuterFunc $iVal="&$iVal&@CRLF)
If $iVal>1000 Then ExitLoop
TestContinueLoopIssue($iVal)
WEnd
EndFunc
OuterFunc()
Output: OuterFunc $iVal=6 C:\testscript.au3 (12) : ==> Variable used without being declared.: $iVal+=1 ERROR ->05:51:17 AutoIT3.exe ended.rc:1 As you can see, it seems to 'continue' the loop in the calling function - but since the variable is local to that function, it will not recognize them, thus the crash. |
|||
| #1771 | Wont Fix | Run*() failure for Elevated Processes with UAC | ||
| Description |
With Windows Vista+, when UAC is turned on, 'CreateProcess' will fail to run processes that require the user to interact with a UAC box. For example, Run('regedit.exe') will fail, but ShellExecute('regedit.exe') will succeed. The reason for this is explained @ MSDN here: http://technet.microsoft.com/en-us/library/cc722422%28WS.10%29.aspx It doesn't look like there is any easy workaround other than to use ShellExecute()? If that is so, perhaps this can be added to the AutoIt Help file? It would have saved me some time =) Thanks |
|||
