$this->SetValue aktualisiert nicht

Moin, wenn ich in einem Modul mit „$this->SetValue“ eine Variable beschreibe, so aktualisiert dies den Wert nicht, wenn sich der Wert nicht ändert. D.h. Wenn der Wert vorher 0 war und mit SetValue wieder auf 0 gesetzt wird, ändert sich das Aktualisierungsdatum nicht. Wenn sich der Wert tatsächlich ändert, dann schon.

Wie kann ich erreichen, dass mit SetValue das Aktualisierungsdatum aktualisiert wird, wenn sich der Wert nicht ändert ?

Falls du aus einem Beispiel eine eigene Funktion SetValue nutzt, dann aktualisiert die nur, wenn der Wert sich ändert.

Du schreibst die VAR nur, wenn sie ungleich altem Wert ist.


    private function SetValueInteger($Ident, $value)
    {
        $id = $this->GetIDForIdent($Ident);
        if (GetValueInteger($id) <> $value)
        {
            SetValueInteger($id, $value);
            return true;
        }
        return false;
    } 

Nimm einfach if (GetValueInteger($id) <> $value) raus, dann wird es gehen.

Hm - hab ich nicht verstanden. Ich meinte so eine Zeile im module.php:

$this->SetValueInteger("Variable", 0);

das Aktualisierungsdatum im Objektbaum wird nur aktualisiert, wenn der Wert vorher NICHT 0 war. Ich möchte erreichen, dass der Wert 0 bleibt aber das Aktualisierungsdatum auch aktualisiert wird.

Mit

SetValueInteger(<varid>,0);

ist das ja auch so.

Ach verdammt. Ich habs verstanden, Thomas ! War ja selbstgemacht, sowas Blödes.

Dankeeeee

Das wäre besser, dann bist du auch für die Zukunft mit SetValue gerüstet:

    protected function SetValue($Ident, $Value)
    {
        if (method_exists('IPSModule', 'SetValue')) {
            parent::SetValue($Ident, $Value);
        } else {
            SetValue($this->GetIDForIdent($Ident), $Value);
        }
    }

Michael