Radost_ писал(а):SergS писал(а):Выдержка из справки по Mapbasic:
вы правда думаете что я этого не прочитала?
я прочитала.
только я не понимаю что значит
Предупреждение
Оператор UnDim не может использоваться в компилированных программах MapBasic. Его использование разрешено только в Рабочем Наборе или в окне MapBasic.
уж что есть, то есть - как разработчик захотел - undim не может использоваться в mbx и все.
но с точки зрения логики - здесь есть смысл.
оператор dim не выделяет память, он ее резервирует на этапе загрузки программы. Если классически - место для локальных переменных выделяется на стеке, после выхода из функции стек автоматически освобождается. специальные действия по освобождению памяти не нужны. Явное управление кучей (если знаете, что это такое) в MB не предусмотрено - динамическое выделение-освобождение памяти ведется опять таки автоматически на уровне среды выполнения программы. Соответственно, явные операторы освобождения памяти просто не нужны.
А в окне MB немножко по другому - там нет программы, для которой уже были бы выделены ресурсы, их нужно выделять дополнительно. Поэтому реализован некий аналог управления кучей - выделение памяти - dim, освобождение памяти - undim
короче, dim в программе MB и в окне MB - несколько разные вещи.