leilei4908 发表于 2015-9-9 11:01:36

请问为何FormDisplay之后dbid会重置?

我在上一个procedure内
dpcForm = axlFormCreate( (gensym) "ViaOfDiffPairCheck.form" nil 'dpcFormAction t nil)
axlFormDisplay(dpcForm)
axlFormListAddItem(dpcForm "WrongList" wrongDP 0)
调用了dpcFormAction(dpcForm)

procedure( dpcFormAction(dpcForm)
    case( dpcForm->curField
      ("WrongList"   
            if(dpcForm->curValue then
                curValue = dpcForm->curValue
                print(curValue)
                num = length(wrongDP) - length(member(curValue wrongDP)) + 1
                axlZoomToDbid(nthelem(num wrongvias) t)
            )
      )
    )
)
wrongvias是上一个procedure内获取到的dbid
发现这里的dbid都已经removed
有什么办法让dbid保留呢?

chrysalis 发表于 2015-9-9 17:58:31

试了一下,似乎create form之后的确会将之前获取的dbid清空,具体是什么原因还不太清楚,回去再看看。

leilei4908 发表于 2015-9-10 08:48:07

chrysalis 发表于 2015-9-9 17:58
试了一下,似乎create form之后的确会将之前获取的dbid清空,具体是什么原因还不太清楚,回去再看看。

现在我改成记录坐标了,能完成预期的目的了
但是这个问题最好还是搞清楚

gogogo冲冲冲!!! 发表于 2024-11-25 21:05:10

学到了,所以不要直接用绝对dbid做事情
页: [1]
查看完整版本: 请问为何FormDisplay之后dbid会重置?