Refreshfehler bei _ArrayDisplay

    • Offizieller Beitrag

    Mist! Ich habe hier ein Problem mit meinem AutoIt.
    Es produziert Refreshfehler bei _ArrayDisplay. Aber mal von Anfang an. Dieses Beispielskript:

    [autoit]


    #include <Array.au3>
    Dim $array[3][2] = [[0,1],[2,3],[4,5]]
    _ArrayDisplay($array)

    [/autoit]


    Egal ob compiliert oder als Skript gestartet löscht es nach 4-5 sek. den Inhalt des Listviews:
    autoit.de/wcf/attachment/11670/ autoit.de/wcf/attachment/11671/
    Wenn ich dann das Fenster nach unten ziehe (außerhalb des Bildschirms) und wieder nach oben (sodass ein Fensterrefresh stattfindet), dann ist der Inhalt wieder da. Verschwindet aber nach 4-5 sek. wieder. ?(

    Komischerweise nur hier auf dem Rechner (Win7, 64 Bit). Auf meinem anderen Rechner (ebenfalls Win7, 64 Bit) funktioniert es einwandfrei.
    Jetzt habe ich schon AutoIt und SciTE neu installiert, aber das brachte keine Veränderung.
    Habt ihr vielleicht noch eine Idee woran das liegen könnte?

  • Inhalt bleibt hier auch erhalten
    64Bit Win7Pro

    Kann es evtl. an unterschiedlichen Versionen\Installationen liegen?
    Oder an dem Radiobutton bei der Installation 32/64 Bit, keine Ahnung worauf sich das auswirkt.

    Gruß Dietmar

    Achtung Anfänger! :whistling:

    Betrachten des Quellcodes auf eigene Gefahr, bei Übelkeit,Erbrechen,Kopfschmerzen übernehme ich keine Haftung. 8o

    • Offizieller Beitrag

    Nein, das sind auf beiden Rechnern die gleichen Versionen und auch die Installation ist gleich.
    Ich hab's jetzt noch mit:

    [autoit]

    #AutoIt3Wrapper_UseX64=n

    [/autoit]


    probiert, aber auch das ändert nichts am Verhalten.
    Komischerweise betrifft das offenbar nur _ArrayDisplay. Wenn ich dieses Skript:

    [autoit]


    $hGui = GUICreate('Test', 220, 220)
    $hListView = GUICtrlCreateListView('a|b', 10, 10, 200, 200)
    For $i = 0 To 3
    GUICtrlCreateListViewItem(Random(1000, 9999, 1) & '|' & Random(1000, 9999, 1), $hListView)
    Next
    GUISetState()
    Do
    Until GUIGetMsg() = -3

    [/autoit]


    ausführe, dann bleibt der Inhalt des ListViews erhalten. ?(
    Ich habe mir auch schon _ArrayDisplay angesehen, aber ich finde da nichts, was diesen Refreshfehler verursachen könnte. :huh:

  • Hast du grad einen Link zu dem Adressbuch? Konnte es leider in deiner Scriptsammlung nicht finden und würde es mir gerne mal ansehen (Vergleich mit _ArrayDisplay)
    _ArrayDisplay hat bei mir (bei gleichen Rechnereigenschaften) keine Probleme.

    Edit: Hab einen Link gefunden!

    Jetzt geht's ans Gemeinsamkeiten suchen

    Einmal editiert, zuletzt von stayawayknight (7. November 2010 um 18:53)

  • Da ich diesen Effekt hier nicht nachvollziehen kann, würde ich eher nicht auf ein AutoIt Problem tippen.

    Ich hatte schon ähnliche (nicht die gleichen) Effekte und schlussendlich war einmal die Grafikkarte im Eimer und ein anderes mal der Grafikkartentreiber.
    Umso mehr, dass es bei Dir ja auf einem anderen PC läuft....

    Grüsse
    Veronesi

    • Offizieller Beitrag

    Ich bin ja auch schon am zweifeln, ob es überhaupt an AutoIt liegt. Die Grafikkarte hatte ich auch schon im Verdacht, aber bisher konnte ich diesen Refreshfehler nur bei _ArrayDisplay und bei meinem Programm "TSAdress" ausmachen.
    Ich habe auch schon den aktuellsten Grafikkartentreiber installiert, aber der Fehler tritt immer noch auf. ?(
    Zum testen habe ich bereits mehrere Styles durchprobiert, aber dieses Skript läuft einwandfrei (ohne Refreshfehler):

    Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <WindowsConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    $sHeader = 'a|b|c'
    Global $iExStyle = $LVS_EX_GRIDLINES + $LVS_EX_FULLROWSELECT + $LVS_EX_DOUBLEBUFFER
    $hGui = GUICreate('Test', 340, 220, Default, Default, BitOR($WS_SYSMENU, $WS_CAPTION, $WS_SIZEBOX, $WS_MINIMIZEBOX))
    $aiGUISize = WinGetClientSize($hGui)
    $hListView = GUICtrlCreateListView($sHeader, 0, 0, $aiGUISize[0], $aiGUISize[1] - 26, $LVS_SHOWSELALWAYS, $iExStyle)
    For $i = 0 To 31
    GUICtrlCreateListViewItem(Random(1000, 9999, 1) & '|' & Random(1000, 9999, 1) & '|' & Random(1000, 9999, 1), $hListView)
    Next
    GUICtrlSendMsg($hListView, $LVM_SETCOLUMNWIDTH, 0, 100)
    GUICtrlSendMsg($hListView, $LVM_SETCOLUMNWIDTH, 1, 100)
    GUICtrlSendMsg($hListView, $LVM_SETCOLUMNWIDTH, 2, 100)
    GUICtrlSetResizing($hListView, $GUI_DOCKBORDERS)
    GUISetState()
    WinSetOnTop($hGui, '', 1)

    [/autoit] [autoit][/autoit] [autoit]

    Do
    Until GUIGetMsg() = -3

    [/autoit]

    Ich raff das einfach nicht. Wieso tritt der Fehler nicht immer auf?
    Bei einem Hardwaredefekt müsste das doch immer auftreten. Oder auch wenn da ein Programm querschiessen sollte.
    Ich habe auch schon alle Hintergrundprogramme beendet und einige unwichtige Dienste deaktiviert. So langsam bin ich am Ende.
    Notfalls muss ich in den sauren Apfel beissen und Windows neu installieren. ;(

  • Zitat

    Notfalls muss ich in den sauren Apfel beissen und Windows neu installieren


    Kein TIS Backup o.ä.?

    Gruß Dietmar

    Achtung Anfänger! :whistling:

    Betrachten des Quellcodes auf eigene Gefahr, bei Übelkeit,Erbrechen,Kopfschmerzen übernehme ich keine Haftung. 8o

    • Offizieller Beitrag

    Oh mann, das gibt es nicht. Ich habe das Problem entdeckt. :rolleyes:
    Das ist eigentlich unglaublich, aber war absolut reproduzierbar. Es war das Einstellungsprogramm (SetPoint) für meine Logitech-Tastatur/-Maus.
    Wenn ich das Einstellungsprogramm beendet habe, funktionierte _ArrayDisplay einwandfrei. Habe ich das Einstellungsprogramm wieder gestartet, traten die Refreshfehler wieder auf.

    Es handelte sich dabei um die Version 4.80.103 von SetPoint (wurde zusammen mit der Tastatur geliefert). Jetzt habe ich mal ein Update auf die aktuelle Version 6.15.6 gemacht und dort tritt der Fehler auch mit gestarteten SetPoint nicht mehr auf.

    Wieso allerdings SetPoint diesen Refreshfehler verursacht hat, wird mir wohl für immer ein Rätsel bleiben. ?(

    Problem gelöst! Vielen Dank an alle, die sich zusammen mit mir den Kopf zerbrochen haben. :thumbup:

  • Das erinnert mich an meine VB ProgrammiererKollegen :)
    da gabs auch mal Probleme mit irgend nem Maustreiber und dem Scrollrad in der IDE

    Gruß Dietmar

    Achtung Anfänger! :whistling:

    Betrachten des Quellcodes auf eigene Gefahr, bei Übelkeit,Erbrechen,Kopfschmerzen übernehme ich keine Haftung. 8o

    Einmal editiert, zuletzt von Dietmar (17. November 2010 um 22:04)