Problem mit Messages in PHP Modulen

Hallo parsey,

danke für den Artikel. Super das hilft. Was ich in deiner best practices Darstellung noch nicht ganz verstehe ist das Message Thema. Du verweist auf ein USBMapper modul.
Dort definierst du define(„IPS_KERNELSTARTED“, IPS_BASE + 1);
Ich dachte das müsste 10002 sein.
Vielleicht verstehe ich das alles noch nicht richtig.

Sorry wenn mein Kommentar nicht direkt zum Thema hier passt, aber ich steig einfach noch nicht richtig durch. (SymconMisc/module.php at master · paresy/SymconMisc · GitHub)

Gesendet von meinem SM-T715 mit Tapatalk

Ich habe das mal ausgelagert… Was ist denn deine Frage?

paresy

Ich versuche das Message Thema zu verstehen. Warum? Weil ich in einem Modul derzeit noch das Problem habe, dass die Parent Instanz noch nicht fertig ist und somit der SendDataToParent ins leere läuft. Ich lese was von HasActiveParent oder eben die Messages Registrieren und darauf reagieren. Aus verschiedenen Modulen Versuche ich zu verstehen was der Unterschied ist und was für mich die Beste Lösung ist. Dabei bin ich natürlich auf deinen Artikel und damit dein Modul gestoßen und habe gesehen, dass du IPS_KERNELSTARTED auf 10001 definiert hast und nicht auf 10002. Da ich das eh noch nicht verstanden habe bringen mich solche Themen noch weiter draus.

Gesendet von meinem SM-T715 mit Tapatalk

Ah. In der Doku ist ein Fehler gewesen. Ich habe das mal korrigiert :slight_smile:

paresy

Weiss ich nicht weil ich es noch nicht verstanden habe :grinning:

Gesendet von meinem SM-T715 mit Tapatalk

Das erklärt dann so einiges :banghead:

Michael

Nicht für mich :joy:

Gesendet von meinem SM-T715 mit Tapatalk

Es erklärt warum ich auch Probleme hatte, das einige Module nie loslaufen…

Falsch (Aus dem Delphi-SDK geklaut :confused: ):


    define('IPS_BASE', 10000);                             //Base Message
    define('IPS_KERNELSHUTDOWN', IPS_BASE + 1);            //Pre Shutdown Message, Runlevel UNINIT Follows
    define('IPS_KERNELSTARTED', IPS_BASE + 2);             //Post Ready Message

Richtig:


    define('IPS_BASE', 10000);                             //Base Message
    define('IPS_KERNELSTARTED', IPS_BASE + 1);             //Post Ready Message
    define('IPS_KERNELSHUTDOWN', IPS_BASE + 2);            //Pre Shutdown Message, Runlevel UNINIT Follows

Michael