Seit heute Fehler in WinAPI_EnumChildWindows

  • Hallo Gemeinde,

    seit heute erhalte ich den folgenden Fehler, wenn ich in meinem "Admin-Tool " etwas in einer der Comboboxen auswähle:

    ==> Subscript used on non-accessible variable.:

    Local $hEdit = _WinAPI_EnumChildWindows($hCombo)[1][0]

    Local $hEdit = _WinAPI_EnumChildWindows($hCombo)^ ERROR

    Seltsamer Weise tritt der Fehler nur in Combobox 2 von insgesamt 3 auf. Die beiden anderen sind unauffällig.

    Hintergrund:

    Das Tool enthält drei Comboboxen. Eine zum Auswählen von diversen lokalen Programmen, eine zur Auswahl verschiedener Dateien, Dokumente, etc. und eine zum
    öffnen von einer KVM-Console (es gibt derer 3).

    Damit man nun den in der Combobox ausgewählten Eintrag einfach durch anklicken nochmals öffnen kann bei Bedarf, habe ich folgende Func erstellt:


    Hat jemand eine Idee was da falsch sein könnte, da das Proggi seit Jahren zuverlässig funktioniert hat und erst seit heute der Fehler auftritt?

  • hipfzwirgel 10. August 2023 um 11:09

    Hat den Titel des Themas von „Seit heute fehler in WinAPI_EnumChildWindows“ zu „Seit heute Fehler in WinAPI_EnumChildWindows“ geändert.
  • GUICtrlGetHandle gibt (wie der Name schon sagt) nur einen Handle zurück. D.h. Du willst einen Array ansprechen obwohl es kein Array ist.
    Hat also so IMHO noch nie funktioniert.
    Siehe auch: https://www.autoitscript.com/forum/topic/13…&comment=952912

  • Hallo Water,
    Hallo Moombas,

    ich ziehe den Beitrag zurück und markiere ihn als erledigt. Es funktioniert alles wieder!

    Mit dem Handle wird das Array definiert, das durch die Winapi_Enum-Func angesprochen wird. Insofern hat Moombas recht.

    Warum der Fehler?

    :cursing: Es ist zum Haare raufen, so denn man denn welche auf dem Kopf hat:

    der Eintrag in Zeile 19 ruft ja die Funktion _ActionCombo2() auf, die je nach ausgewähltem Eintrag der Combobox, weitere Aktionen startet.
    Es wird im vorliegenden Fall die Func Folderopen aufgerufen da die Combobox ja nur Dateien oder Dokumente öffnet.
    In dieser Func Folderopen war nun ein Eintrag, der das Schließen eines Splashscreens verursacht, der aber gar nicht existiert. Ergo: Die HauptGui wurde geschlossen!
    Ohne die Haupt GUI aber kein verwertbares Array mehr und das Proggi wird zerfetzt.
    Woher dieser idiotische Eintrag des Splashscreens kommt ist mir komplett schleierhaft :Glaskugel: Ich bin NATÜRLICH komplett unschuldig :saint:   :rofl:
    Es gibt zwar im Proggi einen Splashscreen. Der hat aber mit den o.g. Funktionen rein gar nichts zu tun. Der wird nur angezeigt wenn ich ein externes Proggi öffne(via Combobox 2),
    dass von einem Net-Share erst kopiert werden muss und im Homeoffice mit VPN kann das bis zu 2 Minuten dauern...

    vielen lieben Dank für eure Mühen und für alle Fälle einen schönen Urlaub :!:

  • Stimmt :sleeping:

    Wenn aber GUICtrlGetHandle kein gültiges Ergebnis brachte, dann funzt auch _WinAPI_EnumChildWindows nicht.

    Klassischer Fall von zu wenig Error checking :/

    Edit: Zu spät 😅