переменные в MapInfo

MapInfo, MapBasic
Ответить
Клим
Интересующийся
Сообщения: 24
Зарегистрирован: 29 авг 2011, 16:51
Репутация: 1

переменные в MapInfo

Сообщение Клим » 08 янв 2013, 16:10

Доброго времени суток!
Подскажите пожалуйста как можно проверить объявлена или нет переменная окне MapBasic?

Cancer
Участник
Сообщения: 56
Зарегистрирован: 25 фев 2009, 20:55
Репутация: 3
Откуда: Инструментарий для MapInfo
Контактная информация:

Re: переменные в MapInfo

Сообщение Cancer » 21 янв 2013, 19:16

print <переменная>
Это есть побыть телепатом. Иначе уточняйте:
- откуда проверить (из этого же окна)?
- что должно быть результатом проверки? true/false или еще что-то?

Клим
Интересующийся
Сообщения: 24
Зарегистрирован: 29 авг 2011, 16:51
Репутация: 1

Re: переменные в MapInfo

Сообщение Клим » 25 янв 2013, 08:25

Я пишу программу на Delphi и отправляю команды MapInfo на выполнение определенных задач. Но все команды переправленные из Delphi воспринимаются MapInfo как прописанные в окне MapBasic. Задача проверить (true/false) объявлена переменная типа object или нет. Так как сама программа может запускаться неоднократно в ходе одной сессии работы MI то при попытке повторного объявить переменную возникают ошибки.

thegeo
Активный участник
Сообщения: 161
Зарегистрирован: 17 янв 2012, 18:51
Репутация: 74

Re: переменные в MapInfo

Сообщение thegeo » 25 янв 2013, 13:13

Думаю, что лучше вообще исключить необходимость такой проверки. Использовать объект 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

Сообщение Клим » 25 янв 2013, 14:43

thegeo спасибо.
Я таким образом и решал.
Возникают неудобства на этапе отладки программы (если процедура не доходит до конца). Приходится вручную в окне MB писать UnDim ob при каждом вылете в ходе процедуры.

Ответить

Вернуться в «MapInfo»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя