Schlagartig erhöhte Stackgröße nach Zwischenspeicherung

Startseite Foren Deutsches LiveCode-Forum Schlagartig erhöhte Stackgröße nach Zwischenspeicherung

Ansicht von 11 Antwort-Themen
  • Autor
    Beiträge
    • #22961
      Peter_M
      Teilnehmer

        Hallo Forum,
        aufgrund leidvoller Erfahrungen mit Datenverlust speichere ich meine Stacks zwischendurch nach jeder gemachten Änderung regelmäßig als Backup. Leider gibt es auch dabei ein nerviges und für mich unerklärliches Problem: des Öfteren ist der Platzbedarf des Stacks nach der Sicherung unverhältnismäßig viel größer(z.B. um 300000 Bytes), obwohl ich ihn nur mit kleinsten aktuellen Änderungen abgespeichert habe. Kann mir jemand dieses Rätsel lösen und/oder hat eine Idee, wie das Problem zu behandeln ist?
        Gruß an alle
        Peter

      • #22963
        Klaus Major
        Administrator

          Hallo Peter,

          hm, habe ich noch nie erlebt, daher kann ich auch nichts dazu sagen.

          Gruß

          Klaus

        • #22967
          matthiasr
          Teilnehmer

            Das kann ich auch so nicht bestätigen. Du schreibst um 300000 Bytes, da sind ja ca. 290KB.

            Erhöht sich der betroffene Stack dann immer wieder um diesen Wert?

            Was meinst Du mit kleinsten aktuellen Änderungen? Änderungen am Skript oder was?

            Matthias

          • #22979
            Peter_M
            Teilnehmer

              Hallo Matthias,
              das passiert scheinbar ohne Regel in ca. 5 % der Fälle, wenn ich im Script Änderungen vorgenommen habe, und zwar sowohl bei kleineren Änderungen wie beispielsweise dem Umbenennen eines Labels oder auch bei größeren Änderungen. Ich helfe mir so, dass ich mir von meinem Stack zusätzlich ein Backup anlege, bevor ich diesen wieder speichere. Ab und an sehe ich dann nach dem Abspeichern, dass der Stack unverhältnismäßig an Größe zugenommen hat. Dann schließe ich LIVECODE, spiele mir das Backup zurück und öffne Livecode erneut, um die zuletzt vorgenommenen Änderungen nochmals einzugeben. Wenn ich den Stack dann wieder abspeichere, behält er seine normale Größe….. 🙁
              Gruß
              Peter

            • #22980
              Axwald
              Teilnehmer

                Hallo,
                lädst/ erzeugst Du vielleicht irgendwelche Daten in der Größe & schiebst die in eine customProperty oder ein Feld?
                Ansonsten schau halt mal mit einem TextEditor in den Stack, da solltest Du schnell sehen, was das ist.

                Viel Spaß!

              • #23018
                Peter_M
                Teilnehmer

                  Hallo Axwald,
                  vielen Dank für den Tipp,den ich gleich ausprobieren werde. Da mein Programm Bilddateien lädt, dürfte das der richtige Ansatz sein! Ich müsste die entsprechenden Bilddaten enthaltenden Properties dann vor dem Speichern des Stacks auf empty setzen!?
                  An dieser Stelle muss ich von Visual Basic umdenken….
                  Viele Grüße
                  Peter

                • #23019
                  Klaus Major
                  Administrator

                    Kannst Du die Bilder nicht referenzieren?
                    Das hat kaum Overhead bez. Dateigröße des Stacks.

                  • #23113
                    Peter_M
                    Teilnehmer

                      Hallo Axwald,
                      dein Tipp war goldrichtig. Ich glaube, ich habe jetzt erst verstanden, was eine Custom Property ist! Vielen Dank noch einmal!
                      LG
                      Peter

                    • #23115
                      Peter_M
                      Teilnehmer

                        Hallo Klaus,
                        vielen Dank für deine Anregung. Leider muss ich mich outen, dass ich nicht weiß, wie das Referenzieren programmtechnisch vollzogen wird. Kannst du mir ein Beispiel geben?
                        Gruß
                        Peter

                      • #23116
                        Klaus Major
                        Administrator

                          Das bedeutet einfach nur, daß man „the filename of img xyz“ auf eine gültige „Adresse“ (Pfad) eines Bildes setzt.

                          ...
                          set the filename of img "ein Bild, ne?" to (spcecialfolderpath("documents") & "/ein tolles bild.jpg")
                          ...

                          Wie genau geht das denn bei Dir vor sich: „Da mein Programm Bilddateien lädt,…“.
                          Danach richtet es sich, wie Du weiter vorgehen solltest.

                        • #23183
                          Peter_M
                          Teilnehmer

                            Hallo Klaus,
                            ich arbeite bisher teilweise auch wie von dir beschrieben „referenziert“, parallel dazu aber auch noch ganz archaisch mit dem put – Befehl z.B.
                            put url"http://Dateipfad/meine Bilddatei" into IMG"meinBild"
                            Gruß
                            Peter

                          • #23201
                            Klaus Major
                            Administrator

                              Ach so, Du kannst aber auch:

                              ...
                              set the filename of img "Dein Bild" to "http://Dateipfad/meine Bilddatei"
                              ## Dauert dann natürlich jedes Mal (Programmstart), bis alle Bilder wieder geladen sind.
                              ...
                          Ansicht von 11 Antwort-Themen
                          • Du musst angemeldet sein, um auf dieses Thema antworten zu können.