Globale Variablendeklaration klappt nicht

  1. 6 months ago

    Hallo,

    bin am verzweifeln, weil ich mein Programm aufräumen will. Aktuell ist alles im Contral Serial1.DataAvailable untergebracht und wird zu unübersichtlich. Da ich die Daten global verfügbar machen möchte, habe ich diese in Module1 als Property global deklariert.
    Trotzdem ist die Variable = 0 (nicht Nil) außerhalb der Serial1.DataAvailable. Wieso? Was ist falsch daran?

  2. Christian S

    9 May 2019 Pre-Release Testers, Xojo Pro, XDC Speakers, Third Party Store Germany

    Vielleicht zwei mit gleichem Namen?
    Also bitte kein dim im code wenn der Name im module global definiert ist.

  3. Nein. Ich habe alle Variablen von Anfang an in den Properties deklariert. Von da aus dann in die Properties des Moduls verschoben. Geht nicht. Dann neue Variablen angelegt. Andere Variablen verwendet. Überall das gleiche....
    Jetz auch alle Dim aller weiteren lokaler/privater Variablen eleminiert. Erfolglos...

  4. Sascha S

    9 May 2019 Pre-Release Testers, Xojo Pro Germany, Lower Saxonary

    Irgendwo wird das Objekt neu Angelegt (Dim/ReDim -1) oder ein 0-Wert zugewiesen, anders kann ich mir das nicht erklären.

  5. Ulrich B

    9 May 2019 Pre-Release Testers, Xojo Pro Europe (Germany, Berlin) · xo...

    Mir ist nicht ganz klar, was du tust, was du erwartest und was stattdessen passiert. Könntest du das Problem etwas genauer beschreiben?

  6. Edited 6 months ago

    @ Bogun: ich möchte Variablen global deklarieren. Ich kann diese aber nur irgendwo in der app beschreiben (hier serial.event). Ausserhalb des Events sind die Variablen = 0

    Ich habe mir gerade ein kleines Programm geschrieben. Die Variable A wird in einem Modul global deklariert. In Window1 verändert und im Window2 auf Knopdfruck im Titel anzeigen lassen. Das funktioniert einwandfrei!

    Dann diese Variable in mein Programm übertragen und das Gleiche angelegt. Funktioniert nicht mehr!
    Die Variable A wurde noch nie verwendet. Kann es etwas mit der kompletten App zu tun haben?

    Ich nutze Linux! (Mint Tessa und Xojo19r1, alles aktuell)
    Seltsam: Anfang April war das Projekt bei ca. 237 kB, Ende April schlagartig bei 11,4 MB. Wo der Unterschied ist weiß ich nicht. Habe keine Bilder, Hintergründe oder sonstige Dateien hinzugefügt. Kann man die APP irgendwie "defragmentieren" lassen?

  7. Ulrich B

    9 May 2019 Pre-Release Testers, Xojo Pro Europe (Germany, Berlin) · xo...
    Edited 6 months ago

    Das einzige, was ich mir vorstellen kann, ist in der Tat, das von irgendwo in der App auch auf eine Variable dieses Namens zurückgegriffen wird. So wenig empfehlenswert globale Variablen sind, von irgendwelchen Problemen damit (außer den global-immanenten) habe ich noch nicht gehört.
    Was passiert denn, wenn du den Scope einengst und nur mit vollem Namespace auf die Variablen zugreifen kannst? Also <Modulname>.<Variablenname>?

    Edit: Und was bedeutet "Außerhalb des Events sind die Variablen = 0"? Wo und wann werden sie denn zurückgesetzt?

  8. Christian S

    9 May 2019 Pre-Release Testers, Xojo Pro, XDC Speakers, Third Party Store Germany

    Vielleicht besteht ja mal Interesse an dem Xojo Training in Köln teil zu nehmen?
    und der Konferenz vielleicht?

  9. Das ist alles sehr mysteriös.
    Ich lege IMMER neue Variablen global an. Da gibt es keine Verwechselungen. Diesmal: Module1.ABC = 5
    In einem TimerEvent wird Module1.ABC im Title angezeigt! Hurra!
    Das geht sogar ohne Module1.
    In einem anderen TimerEvent aber nicht. DAS ist anscheinend der Fehler. Aber warum?
    Beide TimerEvents sind identsch. (Auch beide Public)

    @Christian ein Trainig wäre nicht schlecht. Aber dazu müssten diese Kinderkrankheiten weg. Unter Linux läuft Xojo grausig. Ich könnte Euch garnicht folgen, weil jeder Klick zig Sekunden dauert.

  10. Also es funktioniert! Variablen in eigene Module und alles, auch die Timer, auf Public, bzw. global einstellen.
    Christian, gibt es die Möglichkeit meinen Quellcode untersuchen zu lassen?
    Zwischen zwei meiner Versionen mit geringen Änderungen hat sich die Größe verzwanzigfacht und wird immer noch langsamer.
    Drag and drop ist quälend langsam (> 2 sec)!

  11. Christian S

    9 May 2019 Pre-Release Testers, Xojo Pro, XDC Speakers, Third Party Store Germany

    Vielleicht engagierst du mal @Ulrich B für einen Blick drüber....

or Sign Up to reply!