Большой размер файла mb

Не знаете, где задать вопрос? Задавайте здесь.
Роман01
Участник
Сообщения: 66
Зарегистрирован: 03 авг 2010, 04:24
Репутация: 0

Re: Большой размер файла mb

Сообщение Роман01 »

Мне нужно добавить в файл mb , который занимает 65КБ несколько подпрограмм,
но программа MapBasic 7.8 мне не позволяет это - не вставляет строки .
Как мне поступить?
trir
Гуру
Сообщения: 5355
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1021
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Большой размер файла mb

Сообщение trir »

Ёжик очень мучился, но лез на кактус :evil:
Файл проекта позволяет Вам строить модульные программы. Создав
файл проекта, Вы можете разделять свою программу на любое
количество небольших модулей. Модульные программы в целом легче
поддерживать в долгосрочной перспективе. Кроме того, модульная
программа позволит Вам обойти 64–килобайтный предел размера
файла в окне MapBasic.
Роман01
Участник
Сообщения: 66
Зарегистрирован: 03 авг 2010, 04:24
Репутация: 0

Re: Большой размер файла mb

Сообщение Роман01 »

Я откомпилировал файл - создался файл mbo.
Пытаюсь выполнить - выдает рамку:
"Could not find Mapbasic application ... .mbx"
Роман01
Участник
Сообщения: 66
Зарегистрирован: 03 авг 2010, 04:24
Репутация: 0

Re: Большой размер файла mb

Сообщение Роман01 »

Опишу, как я сделал: выделил одну большую подпрограмму из mb в другой файл
В основной дописал нужные строки.
Затем создал проект
[Link]
Application=c:\Mb70\metry\zapkol1.mbx
Module=c:\Mb70\metry\wneskolw_mbo.mbo

Сделал: File > Link from file > wneskolw_pro.mbp

Программа выдала ошибку:
Unresolved Sub or Function zapkol1.

Так как решить эту проблему?
juffin_h
Завсегдатай
Сообщения: 265
Зарегистрирован: 22 окт 2012, 08:35
Репутация: 50
Откуда: Нижний Новгород

Re: Большой размер файла mb

Сообщение juffin_h »

Чтобы собрать (link) приложение, оба файла (основной zapkol1.mb и модуль wneskolw_mbo.mb) должны быть скомпелированы (compile). В результате компиляции должны получится zapkol1.mbx и wneskolw_mbo.mbo. Эти файлы у Вас есть?
Аватара пользователя
dab
Гуру
Сообщения: 671
Зарегистрирован: 16 дек 2011, 20:02
Репутация: 170
Ваше звание: Гуру
Откуда: Москва
Контактная информация:

Re: Большой размер файла mb

Сообщение dab »

Прочитайте, пожалуйста, Руководство пользователя страница 64, а именно Сборка приложения из нескольких модулей.
Обратите внимание, что один из модулей должен содержать процедуру под названием "Main".
Роман01
Участник
Сообщения: 66
Зарегистрирован: 03 авг 2010, 04:24
Репутация: 0

Re: Большой размер файла mb

Сообщение Роман01 »

В откомпилированном файле zapkol1 - выдает ошибку описания переменных.
Они описаны как глобальные в wneskolw_mbo и там используются несколько раз.
Если я их опишу в zapkol1 через Dim, то разве это будет правильно?
Роман01
Участник
Сообщения: 66
Зарегистрирован: 03 авг 2010, 04:24
Репутация: 0

Re: Большой размер файла mb

Сообщение Роман01 »

Описал я эти переменные через Global в zapkol1.
Компилирую - получается почему-то mbo.
Значит что-то не так? А в чем ошибка?
juffin_h
Завсегдатай
Сообщения: 265
Зарегистрирован: 22 окт 2012, 08:35
Репутация: 50
Откуда: Нижний Новгород

Re: Большой размер файла mb

Сообщение juffin_h »

Вам же сказали
dab писал(а):один из модулей должен содержать процедуру под названием "Main"
Модуль, содержащий процедуру Main, компилируется как mbx.
dab писал(а):Прочитайте, пожалуйста, Руководство пользователя страница 64, а именно Сборка приложения из нескольких модулей.
Читали?
Роман01
Участник
Сообщения: 66
Зарегистрирован: 03 авг 2010, 04:24
Репутация: 0

Re: Большой размер файла mb

Сообщение Роман01 »

Да, я читал.
Но у меня программа Main находится в Wneskolw_mbo.
Если я ее перенесу в другую программу, то нужно будет описывать все подпрограммы?
Или как сделать?

Подзаголовок форума называется: Я новичок.
Это моя первая серьезная программа. Но она занимает > 64К.
juffin_h
Завсегдатай
Сообщения: 265
Зарегистрирован: 22 окт 2012, 08:35
Репутация: 50
Откуда: Нижний Новгород

Re: Большой размер файла mb

Сообщение juffin_h »

Да, в основном модуле необходимо объявлять процедуры, которые будут вызываться из внешних модулей. Это необходимо для того, чтобы компилятор знал, что вызываемая процедура где то существует.
Можно вынести объявления в отдельный файл и использовать оператор Include.
Ответить

Вернуться в «Я новичок!»

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

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