Доступ к таблице!?!

MapInfo, MapBasic
Ответить
pogoreli
Новоприбывший
Сообщения: 11
Зарегистрирован: 03 мар 2009, 09:24
Репутация: 0

Доступ к таблице!?!

Сообщение pogoreli » 11 мар 2009, 15:11

Дорогие друзья, объясните ситуацию использую такой код:

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

		
Create Table Temp_Table_Point									' Создаем временную таблицу
		( Поля Char(30), 
		номер SmallInt)
		File str_name_of_copy

' затем делаю такую процедуру

Create Map For Temp_Table_Point								' Делаем картой
			CoordSys Earth

Add Map Auto Layer Temp_Table_Point							'Добавляем к открытым

И вот тут начинается... не могу найти закономерность, но то этот код работает нормально, то выдает что таблица Temp_Table_Point СОЗДАНА ТОЛЬКО ДЛЯ ЧТЕНИЯ :shock: , ничего не могу понять использовать, Commit Table на это же имя таблицы нельзя хотя слышал что сохранение копии спасает. Рожать кучу таблиц для этого не грамотно. Иногда все прокатывает и работает отлично. Если это фишка только моего MapInfo то посоветуйте что-нибудь... :wink: Спасибо

Boris
Гуру
Сообщения: 4231
Зарегистрирован: 10 апр 2006, 22:34
Репутация: -344969098
Откуда: Париж

Re: Доступ к таблице!?!

Сообщение Boris » 11 мар 2009, 15:55

Я вижу вы решили плотно заняться программированием в MapBasic'е. Поэтому, я позволю себе следующие замечания:
1. Если нет, то попросите и обрящите не только help к вашей версии, но и Reference Guide и User Guide, часто написаны те обходные пути, которые требуются при программировании с этой "живопыркой".
2. В MB есть специальная функция получения уникального имени временного файла TempFileName$( ), по странному совпадению она же дает имя для временной таблицы, которое гарантировано ни с каким отрытым именем не пересечется.
3. Закрывайте таблицы после окончания их использования. Даже если будете использовать это имя повторно. В MI Есть ограничение на количество открытых файлов, не исключено, что вы его превысили.
4. Порождая окна, не забывайте закрывать и их, ведь их число то же конечно.
5. Создавая таблицу, присваивая ей координатную систему - сразу же сохраняйте. В противном случае у вас копятся таблицы открытые для редактирования, число таблиц открытых для редактирования еще меньше, чем число открытых файлов.
6. Таблица может быть открытой только для чтения в следующих случаях:
- она блокирована тем, что имеется не завершенное "рисование" в одном из окон
- один из файлов таблицы получил атрибут "только для чтения", причем любой из 5-файлов, из которых состоит таблица MapInfo
- открыта только для чтения
- внутренний сбой или переполнение программы
- и много другое
- ... в частности закончилось место в папке TEMP или TMP операционной системы

pogoreli
Новоприбывший
Сообщения: 11
Зарегистрирован: 03 мар 2009, 09:24
Репутация: 0

Re: Доступ к таблице!?!

Сообщение pogoreli » 12 мар 2009, 07:53

Boris, благодарю за помощь, замечания ваши очень полезны, как раз являются тем философским намеком по использованию MB. Считаю программирование вообще искусством, поэтому так скурпылезно и надоедливо разбираюсь в непонятных мне вещах этой "живопырки".

Ответить

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

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

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