一旦我可以使用&#34保存应用程序中的现有状态;保存此堆栈"命令,无论是在计算机上还是在移动设备上。
今天我发现它已经不再适用了 例如:有一个增加1的字段,我达到10。
如果我离开应用并重新打开它,它就不会被保存,而是从0开始。
为什么呢?如何解决这个问题?
代码:
on mouseDown
add 1 to field "counter"
save this stack
end mouseDown

答案 0 :(得分:0)
使用字段和按钮创建一个新堆栈,并将其放在按钮脚本中:
on mouseUp
add 1 to fld 1
save this stack
end mouseUp
如果单击该按钮,该字段将递增。如果然后关闭堆栈,它将立即关闭,而不是询问您是否要保存它。如果您再重新打开,则会显示该字段的最后一个状态。
您没有被要求保存的原因是因为堆栈刚刚保存,并且没有进行任何更改。该字段包含最新值。换句话说,一切都与世界是对的。那么问题就变成了:你的筹码有什么不同?
Mac os 10.9。 LC 8.1.8。 (但这些都不重要)
答案 1 :(得分:0)
这正是我所做的但是没有保存!我按下并按下然后我到了10.然后我关闭了应用程序并重新打开它。字段显示第一个值(为此目的为0)而不是值10 *不在移动设备上
答案 2 :(得分:0)
桌面:我在我的IDE上尝试过它可以正常工作!但是,只有当您使用的是实时代码堆栈而不是独立时,请参阅下一节。
移动:您无法在移动设备上保存主堆栈中的更改,因为它始终是独立的。不能使用独立的主堆栈,因为它们是二进制文件的一部分。如果你想在移动设备(或桌面)上拥有可以自行保存的堆栈,你必须将其创建为一个子包。
答案 3 :(得分:0)
为了正确,一个子包,如果也是可执行文件的一部分,则无法保存。
通常的方法是将一个或多个堆栈文件附加到" Splash"叠加。
Splash堆栈通常具有有限的功能,例如导航到工作堆栈或堆栈及其所有子堆栈。这些都可以保存。启动堆栈只是打开独立堆栈的工具,然后让其关联的堆栈完成实际工作。
答案 4 :(得分:0)
使用
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