新打开的堆栈的名称

时间:2014-07-17 16:50:22

标签: livecode

我已经使用

在自定义属性中存储了一个堆栈
set the cStack of stack "abc" to \
  url "binfile:~/desktop.abc.rev"

这会打开堆栈:

go inv stack (the cStack of this stack)

需要隐藏堆栈。由于项目的性质,我不能提前知道堆栈的名称,但我需要知道它的名称才能使用它。我尝试使用the openStacks,因为我认为最后打开的堆栈会出现在列表的顶部,但这并不起作用。我也试过the stacks,但它甚至不包含堆栈的名称。 The last stack会导致错误。

如何获取最近打开的堆栈的名称?

2 个答案:

答案 0 :(得分:1)

您可以执行以下操作:

put the openstacks into tOpenStacksBefore

go inv stack (the cStack of this stack)

repeat for each line tStack in the openStacks
   if tStack is not among the lines of the openstacks then 
      exit repeat
   end if
end repeat

-- tStack now contains the name of your stack

基本上你是:

  1. 在打开堆栈之前存储打开的堆栈列表。
  2. 在打开堆栈之前,重复每个openstack以找到列表中没有的那个。

答案 1 :(得分:0)

打开堆栈后,您可以获得the long id of this stack。这允许你稍后引用它。

go inv stack (the cStack of this stack)
put the result into rslt
if rslt is empty then put the long id of this stack into myStack
else put empty into myStack
// example
put fld 1 of myStack into myData