Доброго времени суток!
Подскажите пожалуйста как можно проверить объявлена или нет переменная окне MapBasic?
переменные в MapInfo
-
- Интересующийся
- Сообщения: 24
- Зарегистрирован: 29 авг 2011, 16:51
- Репутация: 1
-
- Участник
- Сообщения: 56
- Зарегистрирован: 25 фев 2009, 20:55
- Репутация: 3
- Откуда: Инструментарий для MapInfo
- Контактная информация:
Re: переменные в MapInfo
print <переменная>
Это есть побыть телепатом. Иначе уточняйте:
- откуда проверить (из этого же окна)?
- что должно быть результатом проверки? true/false или еще что-то?
Это есть побыть телепатом. Иначе уточняйте:
- откуда проверить (из этого же окна)?
- что должно быть результатом проверки? true/false или еще что-то?
-
- Интересующийся
- Сообщения: 24
- Зарегистрирован: 29 авг 2011, 16:51
- Репутация: 1
Re: переменные в MapInfo
Я пишу программу на Delphi и отправляю команды MapInfo на выполнение определенных задач. Но все команды переправленные из Delphi воспринимаются MapInfo как прописанные в окне MapBasic. Задача проверить (true/false) объявлена переменная типа object или нет. Так как сама программа может запускаться неоднократно в ходе одной сессии работы MI то при попытке повторного объявить переменную возникают ошибки.
-
- Активный участник
- Сообщения: 161
- Зарегистрирован: 17 янв 2012, 18:51
- Репутация: 74
Re: переменные в MapInfo
Думаю, что лучше вообще исключить необходимость такой проверки. Использовать объект MI в явном виде только в рамках отдельной процедуры, когда вы его полностью контролируете. Примерно так:
Sub SetNewBounds(ByVal nmLR As String)
…
Dim str As String = "dim ob as Object"
mi.do(Str)
…
str = "UnDim ob"
mi.do(Str)
End Sub
Этого вполне достаточно.
Все же вопрос с проверкой может возникнуть, если программа допускает возможность одновременной работы нескольких копий с одним экземпляром MI. Думаю, что здесь остается только программная обработка ошибок.
Sub SetNewBounds(ByVal nmLR As String)
…
Dim str As String = "dim ob as Object"
mi.do(Str)
…
str = "UnDim ob"
mi.do(Str)
End Sub
Этого вполне достаточно.
Все же вопрос с проверкой может возникнуть, если программа допускает возможность одновременной работы нескольких копий с одним экземпляром MI. Думаю, что здесь остается только программная обработка ошибок.
-
- Интересующийся
- Сообщения: 24
- Зарегистрирован: 29 авг 2011, 16:51
- Репутация: 1
Re: переменные в MapInfo
thegeo спасибо.
Я таким образом и решал.
Возникают неудобства на этапе отладки программы (если процедура не доходит до конца). Приходится вручную в окне MB писать UnDim ob при каждом вылете в ходе процедуры.
Я таким образом и решал.
Возникают неудобства на этапе отладки программы (если процедура не доходит до конца). Приходится вручную в окне MB писать UnDim ob при каждом вылете в ходе процедуры.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя