Windows связанный FAQ
 


Windows:




FreeBASIC Windows вопросы


Какие IDE доступны для Windows?

На данный момент три полнофункциональные интегрированные среды разработки были разработаны специально для FB: FBIde (не обновляется, некоторые старые версии FBC поставляются в комплекте с ней), FbEdit и JellyFishPro. Эти IDE требуют минимальной конфигурации , в основном только путь к компилятору для работы.
Вы можете загрузить FBIde и FbEdit сборки (редактор + компилятор) , чтобы установить все за одну операцию. Но версия компилятора в комплекте может быть устаревшей.
Коммерческие IDE "общего использования" могут использоваться с FreeBASIC, но могут потребовать расширенной установки. Они удобны в плане использования сразу для нескольких языков программирования.
Инструкции по установке FB JFish Pro, FBIde, и FbEdit можно получить здесь:
-  Инструкция по установке IDE для Windows

К началу страницы

Могу ли я избавиться от экрана консоли 'DOS' в графическом приложении?
Да. Вы должны дать компилятору FreeBASIC правильную команду, когда собираете свою программу.
  • Если Вы собираете из командной строки, просто добавьте "-s gui" в конце, как пример "fbc myprg.bas -s gui"
  • Если компилируете спомощью IDE, вы должны отредактировать "Компилирование по умолчанию".
    • В Jelly-Fish Pro, это "Compiler->Set Compiler Defaults->Compiler Options". Добавьте "-s gui" (без кавычек) .
    • В FbEdit выберите Windows GUI в выпадающем списке справа в тулбаре.

К началу страницы

Моя программа GUI не делает ничего при запуске / программа компилируется, но я получаю ошибку о запрещенном доступе в компоновщике
Проблема может быть связана с предыдущим вопросом. Если программа пытается использовать оператор PRINT, но она была собрана с "-s gui" то команда работает впустую, поскольку консоль недоступна. Если PRINT выводится без зарегистрированного\открытого окна, ничего не будет показано на экране или на панели задач. Работающую программу можно увидеть (и уничтожить) только во вкладке диспетчера задач. Если данная программа все еще работает (то есть вы не уничтожили ее в диспетчере задач), а вы пытаетесь скомпилировать ее повторно, то это выдаст ошибку о том что "доступ запрещен" , поскольку компилятор пытается изменить работающую программу.
В программах Windows GUI не используйте консольные команды. Используйте MessageBox или печатайте результат пользовательских ошибок в log файл. Убедитесь, что консольные команды не используются в коде, когда вы собираете GUI программу.

К началу страницы

Как отлаживать мою программу?
FreeBASIC может использовать любой отладчик, совместимый с GNU GDB. Insight Win32 удобная оболочка для GDB.
  • Получите Insight из Dev-C++
  • Переименуйте файл в Insight.tar.bz2, и распакуйте его в пустую папку
  • Скомпилируйте вашу программу с опцией -g
  • Запустите <Ваш_Insight_Каталог>\bin\usr\bin\Insight.exe
  • Откройте File>Open для загрузки вашей программы в Insight
  • Теперь вы можете просматривать значения переменных, устанавливать точки прерывания, исследовать память и регистры. Читайте помощь по отладчику, чтобы лучше вникнуть в суть.

К началу страницы

Почему под Windows отказывается работать мой код, используя OUT и/или INP?
Windows требует установку драйвера для доступа к оборудованию портов. Программы FB-Win32, использующие INP и OUT включают встроенный драйвер, который устанавливается временно, на сессию. Windows позволяет только пользователи с правами администратора запускать установку драйвера. Это означает, что если вы обычно работаете в Windows без прав администратора, вы должны будете использовать команду RUNAS (запуск с правами администратора) хотя бы один раз в текущей запущенной сессии.
Если такое поведение неприемлемо, вы можете использовать внешнюю библиотеку PortIO32 , которая устанавливает постоянный драйвер порта.

К началу страницы

Я получаю ошибку 'Cannot start blah.exe because xxxx.dll was not found.' или похожую. Чего не хватает?
Вы пытаетесь запускать программу, используя стороннюю библиотеку DLL, но она отсутствует в вашей системе.
FreeBASIC поставляется с заголовками и обертками, необходимыми для кодирования многих сторонних библиотек, но freebasic не обеспечивает необходимые файлами DLL для выполнения.
Вы должны скачать и установить их с домашней страницы авторов библиотек. Так же вы можете поискать ссылки на оф. сайты некоторых библиотек здесь: Ссылки . Вы нуждаетесь в двоичных файлах библиотек (dll) Win32 . Если вы хотите разрабатывать программы с библиотеками , вам так же понадобится документация.
После выпуска скомпилированного кода, очень неплохо вместе с вашей программой поставлять и библиотеки dll третьих лиц для запуска вашей программы другими пользователями.

К началу страницы

FreeBASIC работает под Windows Vista/7?
Да.

К началу страницы

Где я могу найти учебники по программированию Windows GUI?
См. ответы на этот вопрос в этой ветке форума
Более продвинутые использование требует расширенную консультацию по ссылке Microsoft для разработчиков. Возможна локальная установка API документации. Для этого ищите на сайте Microsoft пакет Platform SDK. Он сам по себе имеет большой объем, но вы можете скачать только документацию.

К началу страницы

Существуют ли визуальные редакторы кода Windows GUI для FB?
Да есть некоторые сторонние разработки визуальных редакторов для генерации кода Windows API для окон, в какой то мере , напоминающие редактор Visual Basic:
Jerry Fielden' Ezeegui (freeware) использует псевдографический режим для построения кода.
mrhx Software's VISG (GPL) использует классический интерфейс (рекомендуется).
Менее полезными могут быть графические редакторы генерирующие скрипты для компилятора ресурсов. Любой редактор генерирующий скрипты, совместимый с GORC может использоваться. Один такой входит в FbEdit. Графические редакторы ресурсов являются большим подспорьем в проектировании диалогов и меню. Они оставляют вам задачу написания процедуры окна, необходимую, чтобы сделать их активными.

К началу страницы

См. также