UnregisterTimer Funktion in Modulen evtl. fehlerhaft?!

Diese Funktion > geklaut von Nall chan :smiley: lässt mal ganz übel die IPS-Console ihre Verbindung zum IPS-Server verlieren :smiley:

Wenn ich diese Funktion in einem Modul verwende. Zum Beispiel wenn ein Haken entfernt wird und beim Klick auf Übernehmen der zugehörige Timer gelöscht werden soll, dann bekomme ich oben in der IPS-Console den schönen roten Balken, muss die IPS-Console beenden, neu öffnen und mich neu mit dem Server verbinden :eek:

protected function UnregisterTimer($Name)
    {
        $id = @IPS_GetObjectIDByIdent($Name, $this->InstanceID);
        if ($id > 0)
        {
            if (!IPS_EventExists($id))
                throw new Exception('Timer not present');
            IPS_DeleteEvent($id);
        }
    }

Mein Fehler oder ein Fehler im IPS? Der Timer wurde entfernt, aber beim nächsten Versuch das gleiche Verhalten wieder :frowning:

Wenn es nicht mein Fehler ist, dann sollte man das fixen, bevor die Funktion sich in noch mehr Modulen verbreitet und irgendwann mal „Destroy“ funktioniert…weil dann gibt es viele IPS-Consolen-Crashs :eek:

Grüße,
Chris

Moin Chris.

Hab nun versucht das Problem nachzustellen.

Wenn ich über ApplyChanges die Unregister Funktion aufrufe, funktioniert bei mir alles einwandfrei!
Magst du mir ein auf das Problem reduziertes Beispiel basteln, wo bei dir der Fehler auftaucht?

Grüße
Pio