【问题标题】:"save this stack" doesn't work in livecode“保存此堆栈”在 livecode 中不起作用
【发布时间】:2018-01-01 18:49:26
【问题描述】:

一旦我可以使用“保存此堆栈”命令在计算机和移动设备上保存应用程序中的现有状态。

今天我发现,它不再起作用了。
比如:有一个字段加1,我到了10。

如果我离开应用并重新打开它,它不会被保存,而是从 0 开始。

为什么?如何解决这个问题?

代码:

on mouseDown
add 1 to field "counter"
save this stack
end mouseDown

【问题讨论】:

    标签: mobile stack save livecode


    【解决方案1】:

    用一个字段和一个按钮创建一个新堆栈,并将其放在按钮脚本中:

     on mouseUp
      add 1 to fld 1
      save this stack
    end mouseUp
    

    如果您单击按钮,该字段会增加。如果您随后关闭堆栈,它将立即关闭,而不是询问您是否要保存它。如果您随后重新打开,则会显示该字段的最后状态。

    没有要求您保存的原因是堆栈刚刚保存,没有进行任何更改。该字段保存最新值。换句话说,世界上一切都很好。那么问题就变成了:你的堆栈有什么不同?

    Mac 操作系统 10.9。 LC 8.1.8。 (但这些都不重要)

    【讨论】:

      【解决方案2】:

      这正是我所做的但它没有保存!我按了又按 到了 10。然后我关闭应用程序并重新打开它 该字段显示第一个值(为此目的为 0)而不是值 10 * 不适用于移动设备

      【讨论】:

        【解决方案3】:

        桌面:我在我的 IDE 上尝试过,它可以工作!但仅当您使用 is 作为 livecode 堆栈而不是作为独立时,请参阅下一节。

        移动设备:您无法将更改保存在移动设备上的主堆栈中,因为它始终是独立的。独立中的主堆栈无法更改,因为它们是二进制文件的一部分。如果您想在移动设备(或桌面)上拥有一个可以保存自己的堆栈,则必须将其创建为子堆栈。

        【讨论】:

          【解决方案4】:

          正确地说,子堆栈如果也是可执行文件的一部分,则无法保存。

          通常的方法是将一个或多个堆栈文件附加到“Splash”堆栈。

          Splash 堆栈通常具有有限的功能,例如导航到一个或多个工作堆栈及其所有子堆栈。这些都可以保存。初始堆栈只是打开独立的工具,然后让其关联的堆栈完成实际工作。

          【讨论】:

            【解决方案5】:

            使用

            command saveThisStack
               put fld "score" of cd "mainCard" into tTempList
               put the base64Encode of tTempList into tTempList
               set the defaultFolder to specialFolderPath("documents")
               put  tTempList into URL ("file:score.txt")
            end saveThisStack
            

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2012-11-28
              • 1970-01-01
              • 2014-06-29
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多