JohnOne Posted September 1, 2013 Share Posted September 1, 2013 (edited) I have been unable to recreate this issue I'm afraid, however I have resolved it (meaning I fixed my particular script) and I assure you I'm not imagining it. The global Variables I have in my Main.au3 ;Couple of Globals Global $hControlFile There were 3 of them in my working script, which relate only to functions in Main.au3 If I move them to Globals.au3 with the rest of them (#include "Globals.au3") The script acts as I expect, the Control.tx being created and written to normally. If I put them back the problem resurfaces. Edited September 1, 2013 by JohnOne AutoIt Absolute Beginners Require a serial Pause Script Video Tutorials by Morthawt ipify Monkey's are, like, natures humans. Link to comment Share on other sites More sharing options...
wraithdu Posted September 5, 2013 Share Posted September 5, 2013 I'm getting some serious mouse flickering on input controls on Win8 Pro x64. Moving the mouse over the input control flickers between the carat and the standard pointer. The issue can be seen in the GUICtrlCreateInput help file example. Can anyone confirm? Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted September 5, 2013 Moderators Share Posted September 5, 2013 wraithdu,This has been reported at least once before . It seems to be very machine dependent - I have never seen it and the example works fine for me.M23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area Link to comment Share on other sites More sharing options...
wraithdu Posted September 5, 2013 Share Posted September 5, 2013 What OS did you test on? I've only seen it on Win8. I'll have to check at home as well. I don't use anything regularly that has those input controls at home, just here at work, so I'll check out the example. But I also confirmed it happens on x86 and on 3.3.8.1 x86/64. Any testing / debugging you can think of, let me know. Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted September 5, 2013 Moderators Share Posted September 5, 2013 wraithdu,I have tested on Vista x32 and XP - and I have never seen the problem with any version since I started using AutoIt (back at v3.2.10.0). It seems to be extremely selective about who it affects - I am not sure if you should be very flattered or very annoyed! M23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area Link to comment Share on other sites More sharing options...
Administrators Jon Posted September 5, 2013 Author Administrators Share Posted September 5, 2013 Give me 5 I'll try it on my win 8 box. When I've finished my train food James 1 Deployment Blog: https://www.autoitconsulting.com/site/blog/ SCCM SDK Programming: https://www.autoitconsulting.com/site/sccm-sdk/ Link to comment Share on other sites More sharing options...
Administrators Jon Posted September 5, 2013 Author Administrators Share Posted September 5, 2013 I can see it on any control that changes the cursor (edit, combos, etc). It's very subtle though, you have to drag the mouse slowly and you can just make out it is flickering beween an arrow and a bar. I've not got a WinXP/Win7 box immediately available to test. But I imagine it always happens on all systems but depending on the speed/video hardware people might just not notice. Deployment Blog: https://www.autoitconsulting.com/site/blog/ SCCM SDK Programming: https://www.autoitconsulting.com/site/sccm-sdk/ Link to comment Share on other sites More sharing options...
wraithdu Posted September 5, 2013 Share Posted September 5, 2013 I agree regarding the video hardware / screen refresh rate. I notice it readily here at work, business graphics and all. But I might not notice it at home where I have an NVIDIA gaming card in my laptop. Link to comment Share on other sites More sharing options...
Administrators Jon Posted September 5, 2013 Author Administrators Share Posted September 5, 2013 It's easy to fix, by breaking GuiCtrlSetCursor. One for JP I think. Deployment Blog: https://www.autoitconsulting.com/site/blog/ SCCM SDK Programming: https://www.autoitconsulting.com/site/sccm-sdk/ Link to comment Share on other sites More sharing options...
wraithdu Posted September 5, 2013 Share Posted September 5, 2013 Not that this bit of info really matters, but using GuiCtrlSetCursor to set the IBeam cursor on the input controls stops the flickering. It's probably because it is flickering between IBeam and IBeam :/ Link to comment Share on other sites More sharing options...
BrewManNH Posted September 5, 2013 Share Posted September 5, 2013 I ran this script below on my Windows 7 laptop, I saw the flicker very very infrequently but the MouseGetCursor function never once picked it up. BTW, I used the timer routine to make sure I didn't miss any cursor changes because of not paying attention. #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <EditConstants.au3> Global $oMyError Example() Func Example() Local $myedit, $msg, $X, $LastX $hGUI = GUICreate("My GUI edit") ; will create a dialog box that when displayed is centered $myedit = GUICtrlCreateEdit("First line" & @CRLF, 176, 32, 121, 97, $ES_AUTOVSCROLL + $WS_VSCROLL) GUISetState() Send("{END}") ; will be append dont' forget 3rd parameter GUICtrlSetData($myedit, "Second line", 1) $Timer = TimerInit() ; Run the GUI until the dialog is closed While 1 $msg = GUIGetMsg() If $msg = $GUI_EVENT_CLOSE Then ExitLoop $X = MouseGetCursor() If $X <> $LastX Then ConsoleWrite("Mouse is now: " & $X & @TAB & "@ - " & Int(TimerDiff($Timer)) & @CRLF) $LastX = $X EndIf WEnd GUIDelete() EndFunc ;==>Example Also, when I said very very infrequently, it was probably 2 - 3 times while running this for over a minute, and moving the cursor slowly around the Edit control. If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag GudeHow to ask questions the smart way! I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from. Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays. - ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script. - Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label. - _FileGetProperty - Retrieve the properties of a file - SciTE Toolbar - A toolbar demo for use with the SciTE editor - GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI. - Latin Square password generator Link to comment Share on other sites More sharing options...
wraithdu Posted September 5, 2013 Share Posted September 5, 2013 (edited) My output. Nice illustration of the condition by the way. On mine the flicker is very apparent and very fast. So I'm sure this is as well as the GUI loop can detect. Mouse is now: 5 @ - 0 Mouse is now: 2 @ - 930 Mouse is now: 5 @ - 1374 Mouse is now: 2 @ - 3306 Mouse is now: 5 @ - 3371 Mouse is now: 2 @ - 4639 Mouse is now: 5 @ - 5385 Mouse is now: 2 @ - 9520 Mouse is now: 5 @ - 9963 Mouse is now: 2 @ - 10171 Mouse is now: 5 @ - 10394 Edited September 5, 2013 by wraithdu Link to comment Share on other sites More sharing options...
Administrators Jon Posted September 5, 2013 Author Administrators Share Posted September 5, 2013 I know what it is, no need for more troubleshooting. Well, it will need checking after a fix because it's one of those things that had a knock on effect Deployment Blog: https://www.autoitconsulting.com/site/blog/ SCCM SDK Programming: https://www.autoitconsulting.com/site/sccm-sdk/ Link to comment Share on other sites More sharing options...
Administrators Jon Posted September 5, 2013 Author Administrators Share Posted September 5, 2013 Not that this bit of info really matters, but using GuiCtrlSetCursor to set the IBeam cursor on the input controls stops the flickering. It's probably because it is flickering between IBeam and IBeam :/ Indeed. Deployment Blog: https://www.autoitconsulting.com/site/blog/ SCCM SDK Programming: https://www.autoitconsulting.com/site/sccm-sdk/ Link to comment Share on other sites More sharing options...
Administrators Jon Posted September 6, 2013 Author Administrators Share Posted September 6, 2013 Tricksier than I first thought. The cursor handling is done at the window level and the technique used for changing the cursor for particular controls is a bit, well, hackish. I think I need to rewrite all the cursor handling and sub-class controls so that they set their own cursors instead - which is the better way anyhow I think. Deployment Blog: https://www.autoitconsulting.com/site/blog/ SCCM SDK Programming: https://www.autoitconsulting.com/site/sccm-sdk/ Link to comment Share on other sites More sharing options...
Administrators Jon Posted September 6, 2013 Author Administrators Share Posted September 6, 2013 Yeah, that seems to work great. Fixed next beta. Deployment Blog: https://www.autoitconsulting.com/site/blog/ SCCM SDK Programming: https://www.autoitconsulting.com/site/sccm-sdk/ Link to comment Share on other sites More sharing options...
Recommended Posts