Страница 1 из 1

Unrecognized object и глобальные переменные

Добавлено: 23 авг 2011, 15:50
mvs
Есть пример из базы знаний ESRI:
support.esri.com/en/knowledgebase/techarticles/detail/11909
со скриптиком

Код: Выделить всё

'--- Script: "DoubleClickDistance.ave"
'
'--- Place this script as the "Apply" property of the same new tool.
theView = av.GetActiveDoc
theDisplay = theView.Getdisplay
if (_firstPoint.IsNull)
then
_firstPoint = theDisplay.ReturnUserPoint
return nil
else
_secondPoint = theDisplay.ReturnUserPoint
dist = _firstPoint.Distance(_secondPoint)
distString = dist.SetFormat("d.dddd").AsString
MsgBox.Info(distString,"")
_firstPoint = Point.MakeNull
_secondPoint = Point.MakeNull
end
'
'--- End of script: "DoubleClickDistance 
Однако, при компиляции на третьей строке (if...) выскакивает "Unrecognized object: _firstPoint" ! - как я понимаю, потому что значение не назначено. Однако, пример-то не абы откуда. В чём дело? Может, существуют какие-то установки ArcView для трансляции кодов с такими условиями? Или переменная почему-то не опознаётся как глобальная?

Re: Unrecognized object и глобальные переменные

Добавлено: 23 авг 2011, 18:25
mvs
"Семён Семёныч!"
Сам спросил, сам и ответил. В примере было два скрипта, и инициализация происходила в первом из них, второй - приведён в вопросе. Если начинать компиляцию со второго скрипта, то, действительно, совершенно законно выскакивает "Unrecognized..." и т.д.. Если же компиляцию начинать с первого, то ArcView запоминает проинициализированные глобальные переменные, и второй скрипт уже компилируется без вопросов.
Извините за внимание!