Ankündigung

Einklappen
Keine Ankündigung bisher.

Verständnisproblem Plugins / Logics

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Verständnisproblem Plugins / Logics

    Noch mal ein Versuch mit genauerer Beschreibung an die Phytonkenner!

    Ich habe eine umfangreiche Plugin mit vielen defs erstellt. Gestartet wird über def __init__(self, smarthome + weitere Parameter.
    Alle Funktioen laufen perfekt.
    in den einzelnen defs wie

    Code:
        def A04_create_db(self):
    # Create database, drop existing one
            myanzCloseConnect = 0
            if self._tracetest>0:
                self.logger.info("Start A04_create_db")
    habe ich mit diversen Traceparametern wie trace_test, trace_formeln, trace_sql gezielte Loggings vorgesehen.
    Diese Tracevorgaben landen im self._tracetest usw.
    Klappt alles bestens.

    Leider wird man immer schlauer und will evtl nur die Auswirkung einer Excel-Formel im Debug verfogen.

    In einer smartvisu-Seite habe ich diverse Schalter zum Ein/Aus-schalten der Tracewerte und zum Abruf einiger EXCEL-Tabellen

    Hier wollte ich jetzt mit einer Logic nur die "def A07_exceltabelle1" starten und zuvor den self.trace_fomel einschalten und das Ergebnis auswerten.
    Hier liegt mein Problen:


    die def A017_Formel(self) läuft zwar nach dem Aufruf im Plugin.

    Ich möchte jedoch den Schalter in der Maske über eine Logik überwachen und die Logik starten

    Hier liegt mein Problen:

    inder Logic steht

    Code:
    Abruf = "A"
    sh.portfolio.A07_exceltabelle1(Abruf)
    in Plugin steht jedoch

    Code:
    dev A07_exceltabelle1(self,Abruf)
    In der Logik feht mir aber das self!

    Frage : Wie kann ich des Self aus dem Plugin lesen um es in der Logik zu nutzen!
    Oder gibt es eine Übergabemöglichkeit?
    Zum Aufbau der Tabellen werden die Items per sh.xxtabelle.sachnummer gelesen usw.
    Formelergebnisse werden auch zur Kurzdarstellung in Masken erzeugt und an die ITEMS übergeben

    Alles geht direkt aus dem Plugin, nur der Aufruf aus deder Maske über eine Logok scheitert am self

    Hier klempt es bei mir an den Phyton-Kenntnissen.

    Google hat auch nichts geholfen!
    Zuletzt geändert von schloessl; 11.04.2019, 19:16.

    #2
    verbesserte Erläutereung des Problems!

    Kommentar


      #3
      Schau Dir in derPython Doku mal das Thema Klassen an. Das self brauchst Du nur als Platzhalter im class-object. Bei der Intantizierung des Objektes bekommt die Instanz ja eine Adresse.

      Der Titel eines Post ist aber irreführend. Mit Logiken hat das erstemal nichts zu tun (nicht mal mit shNG, denn das ist ein reines Python Thema)

      Das Verständnis Problem hatte hier im Forum letztens schon mal jemand. Bemüh einfach mal die Suchfunktion.
      Zuletzt geändert von Msinn; 12.04.2019, 06:52.
      Viele Grüße
      Martin

      Stay away from negative people. They have a problem for every solution.

      Kommentar

      Lädt...
      X