_ArrayDisplay issue. Display goes blank.

4 posts in this topic

I am running the production version of AutoIt on Windows 7 Enterprise 64bit.

I have found that _ArrayDisplay will go blank after several seconds. See the attached screen caps. The delay period is arbitrary. This occurs both in interpretive execution and in a compiled exe. This does not occur when I run the same code on a Windows XP SP3 machine with The condition is consistent (for me) running the following code. 

#include <Array.au3>
Dim $array[10] = ['Running Windows 7 Enterprise 64bit', 'Just wait 5 to 30 seconds or so.', _
        'This ArrayDisplay will go blank (grey).', 'Clicking in the display will refresh', _
        'individual lines.', 'See the screencaps.']




Phil Seakins

Share this post

Link to post
Share on other sites

This solved my problem.

'?do=embed' frameborder='0' data-embedContent>>

Hope it solves yours.


Thank you reb. This explained my problem. I searched the forum for _ArrayDisplay blank issues but failed to discover this solution.

The problem is absolutely caused by the Logitech "Setpoint" keyboard and mouse control centre. I tried upgrading setpoint to the latest 6.61.15 but the problem persists. It also affects another app "ZTreeWin" but in a different way. Disabling Logitechs' Setpoint makes the problem go away.

This is not a solution but at least now I know what is causing it and that the problem is not with AutoIT. It's unlikely I will be able to get Logitech to fix this but I may give it a try when I have time.

Phil Seakins

Share this post

Link to post
Share on other sites

I had reason to revisit this issue and found a newer Logitech update. I have just upgraded Logitech's keyboard/mouse Setpoint Control Centre from ver 6.61.15 to ver 6.67.83 dated 10sep15. The update appears to have fixed this particular issue although I am still having trouble with Excel's display jumping around, still caused by Logitech's Setpoint.

This solution also applies to thread arraydisplay-is-blanking-out-in-time-or-when-clicked/


Phil Seakins

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • distancesprinter
      By distancesprinter
      _ArrayDisplay($aArray, "Window Title", "1:", 0, Default, "Column") ; Expected results are rows 1 to the end of the array, all columns. The result is rows 0-1, all columns. The API reference is here:
      Am I doing something wrong?
    • SorryButImaNewbie
      By SorryButImaNewbie
      Hello guys!
      I have a little problem in one of my function/functions. Here is my code:
      Func IsVisible($handle) If BitAND(WinGetState($handle), 4) Then ;If Not BitAND(WinGetState($handle), 16) Then If BitAND(WinGetState($handle), 2) Then Return 1 Else Return 0 EndIf EndIf EndFunc ;==>IsVisible Func _GetWindows() ; Global $i = 12 ;Local $anumber = 0 / or use &i? Dim $VisibleWindows[1][2] = [["0", ""]] $AllWindows = WinList() For $i = 1 To $AllWindows[0][0] If IsVisible($AllWindows[$i][1]) Then If $AllWindows[$i][0] <> "" And $AllWindows[$i][0] <> "Program Manager" Then ReDim $VisibleWindows[UBound($VisibleWindows) + 1][2] $VisibleWindows[0][0] = $VisibleWindows[0][0] + 1 $VisibleWindows[($VisibleWindows[0][0])][0] = $AllWindows[$i][0] $VisibleWindows[($VisibleWindows[0][0])][1] = $AllWindows[$i][1] EndIf Else EndIf Next _ArrayDisplay($VisibleWindows, "Visible Windows") ;If WinClose("Visible Windows", "") = 1 Then Idle() EndFunc ;==>_GetWindows This should display all windows and their respective handels that WinList function can find, and display it in a "Visible Windows" titled arraydisplay. All good there, script runs as expected. I copied the code for the _GetWindows() from here, and implemented it with minimal changes as I recall (sorry I found it more then a month ago).
      My problem is that If I try to close the "Visible Windows" Window, the script just reopens anotherone, basicly the only thing I can do is terminate the script somehow after I started to display this. I'm pretty sure that there is something small that I miss, but since I can't really bend my mind around the _GetWindows array creation, I can't really pinpoint why it opens it again when I close it.
      (I try to used WinClose but thats just stupid since there is noproblem with closing, the problem is the reopening, realized that while I was writing it)
      Thank you for your help!
    • TheDcoder
      By TheDcoder
      Hi, Please look at the code below:
      #include <File.au3> #include <Array.au3> ; -- Created with ISN Form Studio 2 for ISN AutoIt Studio -- ; #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #Include <GuiButton.au3> #include <GuiListView.au3> Global $hGUI = GUICreate("GUIx",283,120,-1,-1,-1,-1) GUISetBkColor(0xFFFFFF,$hGUI) $hListX = GUICtrlCreatelistview("ColumnX|ColumnY|ColumnZ",4,4,269,65,4,544) ; GUICtrlCreatelistview("ListX",7,4,269,65,-1,512) GUICtrlSetData(-1, "ColumnX|ColumnY|ColumnZ") $hButtonY = GUICtrlCreateButton("ButtonY",20,80,100,30,-1,-1) $hButtonZ = GUICtrlCreateButton("ButtonZ",160,80,100,30,-1,-1) GUISetState() While True $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $hButtonY AddRows() EndSwitch WEnd Func AddRows() Local $aFiles = _FileListToArray(@ScriptFullPath & '\FolderX', Default, Default, True) _ArrayDisplay($aFiles) Local $aContent[9] For $i = 0 To UBound($aFiles) - 1 MsgBox(0, "", $aFiles) $aContent = FileReadToArray($aFiles[$i]) Next For $i = 0 To UBound($aContent) - 1 Step 3 GUICtrlCreateListViewItem($aContent[$i] & '|' & $aContent[$i + 1] & '|' & $aContent[$i + 2], $hListX) Next EndFunc _ArrayDisplay at line no. 33 is not working, I don't know what is happening...
      Thanks in Advance, TD
      P.S Actually the code was for another question but while debugging the code, I encountered this problem
    • TechCoder
      By TechCoder
      #Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_Outfile=ArrayDisplayTest.exe #AutoIt3Wrapper_UseUpx=n #AutoIt3Wrapper_Run_Tidy=y #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** #include <Array.au3> Local $List[10] $List[0] = "JPM" $List[1] = "Holger" $List[2] = "Jon" $List[3] = "Larry" $List[4] = "Jeremy" $List[5] = "Valik" $List[6] = "Cyberslug" $List[7] = "Nutster" $List[8] = "JdeB" $List[9] = "Tylo" _ArrayDisplay($List, "Test of _ArrayDisplay", "") ; 10 rows, all data _ArrayDisplay($List, "Test of _ArrayDisplay", "7") ; 8 rows, no data _ArrayDisplay($List, "Test of _ArrayDisplay", "7:") ; 3 rows, no data _ArrayDisplay($List, "Test of _ArrayDisplay", "|7") ; 10 rows, no data ;_ArrayDisplay($List,"Test of _ArrayDisplay", "|7:" ) ; ==> Variable subscript badly formatted.: _ArrayDisplay($List, "Test of _ArrayDisplay", "7|7") ; 8 rows, no data _ArrayDisplay($List, "Test of _ArrayDisplay", "5:7") ; 3 rows, no data ;_ArrayDisplay($List,"Test of _ArrayDisplay", "|5:7" ) ; ==> Variable subscript badly formatted.: ;_ArrayDisplay($List,"Test of _ArrayDisplay", "7|5:7" ) ; ==> Variable subscript badly formatted.: _ArrayDisplay($List, "Test of _ArrayDisplay", "5:7|7") ; 3 rows, no data ;_ArrayDisplay($List,"Test of _ArrayDisplay", "5:7|5:7" ) ; ==> Variable subscript badly formatted.:
    • 1905russell
      By 1905russell
      Hi all, I've been away from Autoit for awhile but now I'm back trying to progress the accounting project I stopped and started several years ago.
      I've spent nearly two days trying to figure out this problem but alas I'm completely stumped.
      After the $aReadThisShelf array is created all elements can be accessed, however not to _ArrayDisplay().
      _ArrayDisplay() hangs for a short period and then returns blank and the array is gone. What have I done to screw this up?

      All help will be most appreciated.

      As always I have to give this disclaimer - Please remember I'm an accountant and not a programmer

      Here's the code

      #include <ComboConstants.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <Array.au3> Opt('MustDeclareVars', 1) Global $hCombo, $sThisShelf Global $sMyTesterFile = "Tester.ini" GUICreate("", 395, 78, 292, 124, $WS_POPUPWINDOW) $hCombo = GUICtrlCreateCombo("", 16, 24, 176, 25, BitOR($CBS_DROPDOWN, $CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL)) GUISetState(@SW_SHOW) Local $var = IniReadSectionNames($sMyTesterFile) Local $VenArray[$var[0] + 1] For $i = 1 To UBound($var) - 1 $VenArray[$i] = $var[$i] GUICtrlSetData(-1, $VenArray[$i]) Next GUIRegisterMsg($WM_COMMAND, "WM_COMMAND") While 1 Local $nMsg $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit EndSwitch WEnd Func WM_COMMAND($hWnd, $iMsg, $iwParam, $ilParam) ;#forceref $hWnd, $iMsg Local $hWndFrom, $iIDFrom, $iCode, $hWndCombo If Not IsHWnd($hCombo) Then $hWndCombo = GUICtrlGetHandle($hCombo) $hWndFrom = $ilParam $iIDFrom = BitAND($iwParam, 0xFFFF) $iCode = BitShift($iwParam, 16) Switch $hWndFrom Case $hCombo, $hWndCombo Switch $iCode Case $CBN_SELCHANGE $sThisShelf = GUICtrlRead($hCombo) Local $aReadThisShelf = IniReadSection($sMyTesterFile, $sThisShelf) _ArrayDisplay($aReadThisShelf, $sThisShelf & " has " & $aReadThisShelf[0][0] & " elements");here's the problem????? EndSwitch EndSwitch Return $GUI_RUNDEFMSG EndFunc ;==>WM_COMMAND
      Here's the tester.ini file

      [SHELF#1] Key1=Books Key2=paper Key3=shirts Key4=hats Key5=suits Key6=paperclips Key7=staples Key8=pens Key9=pencils Key11=erasers [SHELF#2] Key1=glasses Key2=plates Key3=saucers [SHELF#3] Key1=spoons Key2=knives Key3=bowls