Как создавать и править модулиМатериал из Blitz Et CeteraДля начала нужно определиться, какой именно модуль ты собрался делать. Это либо это уже существующий модуль, написанный на C/C++/ObjC, либо интерфейс для DLL либо код BlitzMax.
MingwДля Windows:Чтобы компилировать модули нужен MinGW и прописанный путь в "Переменной среде". Для тех, кто не знает, переменные среды позволяют программам вызывать общие программы(как cmd.exe) только ссылаясь на её имя. MinGW позволяет компилировать не-BlitzMax-овский код в модули для BlitzMax, а также использовать DLL-ки после написания враппера/декларирования. Нужно скачать два файла этот и этот(Автор ссылался на это, но там какая-то байда). Создай пакпку с любым именем(например: C:\dev\MinGW) и разархивируй туда оба архива. Теперь нужно прописать переменную среду. Панель Управления>Система(или правой кнопкой мыши на Мой Компьютер>Свойства) жми закладку Дополнительно на ней внизу Переменные среды. Ищи переменную Path. Выбери её и жми Изменить. Проедь до конца строки, вставь точку с запятой(;) и пропиши папку bin(полный путь, например C:\dev\MinGW\bin ) из папки, куда ты разархивировал архивы. Для Mac и Linux:Не знаю, но вроде там в дистрибутиве есть gcc (GNU Compiler Collection) - это то что надо BlitzMax-у для компиляции модулей, написанных на разных языках программирования. Забабахаем СВОЙ модуль!Ок, начнем. Создай новый файл. Первой строкой идет: Strict
Теперь определяем имя модуля коммандой Module : Strict
Вторая строка определяет, что текущий файл - модуль, и его нельзя компилировать обычным способом. Затем опишем что это за модуль коммандой ModuleInfo : Strict
Теперь подключаем необходимые для работы нашего модули: Strict
Замечание: По настоящему ничего не подключается. Последняя строка гарантирует, что нужный модуль будет подключен к твоей программе. Другими словами - если ты подключишь свой модуль, то подключится и BRL.StandardIO. Для примера буду использовать наипростейшую функцию, а вообще, в модулях можно использовать всё, как и в обычных программах. Strict
Демонстрация Private. Всё после Private не доступно снаружи модуля(т.е. из проги, подключающей его, или другого модуля): Strict
Всё, пора сохранять файл. Открой папку, где у тебя установлен BlitzMax, открой папку mod. В mod создай папку bot.mod. В ней создай папку firstmodule.mod. Важно, чтобы имена папок и файлов были точно такими, как описано тут. Сохраняй свой модуль в эту папку под именем firstmodule.bmx. Пуск>Выполнить или(Ctrl-Alt-Delete>Файл>Новая задача(выполнить...)) в строке ввода набери cmd. Вылезет родное (для некоторых) окно эмуляции доса, там пиши: CD C:\Program Files\ProgrammerProgs\BlitzMax\bin, или какой там у тебя путь и жми интэр. Далее пиши: bmk makemods -d bot.firstmodule для компиляции дебаг версии модуля, -r bot.firstmodule для компиляции релизной версии модуля или -a bot.firstmodule для полной компиляции модуляи опять жми интэр. Чтобы проверить что за байда получилась, создай новый файл и пиши в нем: SayHello("Всем, Млин")
и запусти. Надеюсь напишется следующее: Hi Всем, Млин!!! Использование не bmx-ных файловДелается так: Import "Файл.C"
От переводчика (я так декларирую АПИ-шные функции в обычных файлах): Extern "Win32"
Function FindWindow:Int(ClassName$z,apptitle$z) = "FindWindowA@8" Тут $z - это специальная C-шная строка, А @x - размер буфера для параметров, если не знаешь какой он, то просто его не пиши (в Дебуге увидишь, какой надо). З.Ы. У переводчика работает, но подлежит проверке:) Автор: Bot Builder |

