Du musst Dich nicht bedanken, ich habe kein Problem damit Entwicklungshilfe zu betreiben.
Und im DMM Board gibt es einen Thread dazu wie man das _conn richtig benutzt. Eines der wichtigen Dinge ist das wenn du die class verlässt die auch weg sind, was mir anfangs auch einiges an Verständnisprobleme beim portieren verursacht hat.
Wenn man sie nicht selbst an globalen variablen festmacht hat man also ein Problem wie Ghost so schön erklärt hat. Damit ist der code zwar sauberer, aber wenn man es anders gewohnt ist ...
Mir war das dann allerdings auch rasch zu mühsam den code entsprechend umzustellen und ich habe mir z.B. im OpenEPG Plugin damit beholfen einfach alle routine mit @classmethod sozusagen statisch zu machen, so in der Art (kleiner Codeausschnitt vom LoadOpenEPG):
Im OpenEPG musste ich so halt Container in denen Binaries im Hintergrund ausgeführt wurden classen übergreifend am Leben halten.
Ich weis das ist nicht schön, es aber funktioniert dann 'fast' wie vom OE 2.0 gewohnt wo halt alles mit append in listen kommt die dann über self.xxxx.append auch sozusagen global sind.
Wobei deine Lösung alles in der Mutterclasse zu initialisieren (die dann eben bis man das Plugin verlässt lebt) geht natürlich genauso ...
Und im DMM Board gibt es einen Thread dazu wie man das _conn richtig benutzt. Eines der wichtigen Dinge ist das wenn du die class verlässt die auch weg sind, was mir anfangs auch einiges an Verständnisprobleme beim portieren verursacht hat.
Wenn man sie nicht selbst an globalen variablen festmacht hat man also ein Problem wie Ghost so schön erklärt hat. Damit ist der code zwar sauberer, aber wenn man es anders gewohnt ist ...
Mir war das dann allerdings auch rasch zu mühsam den code entsprechend umzustellen und ich habe mir z.B. im OpenEPG Plugin damit beholfen einfach alle routine mit @classmethod sozusagen statisch zu machen, so in der Art (kleiner Codeausschnitt vom LoadOpenEPG):
Im OpenEPG musste ich so halt Container in denen Binaries im Hintergrund ausgeführt wurden classen übergreifend am Leben halten.
Ich weis das ist nicht schön, es aber funktioniert dann 'fast' wie vom OE 2.0 gewohnt wo halt alles mit append in listen kommt die dann über self.xxxx.append auch sozusagen global sind.
Wobei deine Lösung alles in der Mutterclasse zu initialisieren (die dann eben bis man das Plugin verlässt lebt) geht natürlich genauso ...
Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von Lost in Space ()