Компоновка. Запуск программы. Ошибки времени выполнения.
Если в программе нет ошибок, то можно выполнить компоновку. Для этого надо в меню Compile выбрать команду Make или Build. Разница между командами Make и Build заключается в следующем. Команда Make обеспечивает компоновку файлов проекта, а команда Build – принудительную перекомпиляцию, а затем – компоновку.
На этапе компоновки также могут возникнуть ошибки. Чаще всего причина ошибок во время компоновки состоит в недоступности файлов библиотек или других ранее откомпилированных модулей. Устраняются эти ошибки путем настройки среды разработки и включением в проект недостающих модулей. В простых проектах ошибки времени компиляции, как правило, не возникают.
Запуск программы
Пробный запуск программы можно выполнить непосредственно из среды разработки, не завершая работу с C++ Builder. Для этого нужно в меню Run выбрать команду Run или щелкнуть на командной кнопке Run (рис. 2.33).
Рис. 2.33. Запуск программы из среды разработки
Ошибки времени выполнения
Во время работы приложения могут возникать ошибки, которые называются ошибками времени выполнения (run time errors) или исключениями (exceptions). В большинстве случаев причинами исключений являются неверные исходные данные.
Например, если во время работы программы вычисления силы тока в поле Напряжение ввести 10.5, т. е. разделить целую и дробную часть точкой, то в результате щелчка на кнопке Вычислить на экране появится окно с сообщением об ошибке (рис. 2.34).
Рис. 2.34. Пример окна с сообщением об ошибке времени выполнения (программа запущена из Windows)
Причина возникновения ошибки в следующем. В тексте программы дробная часть числа от целой отделяется точкой. При вводе данных в поле редактирования пользователь может отделить дробную часть числа от целой точкой или запятой. Какой из этих двух символов является правильным, зависит от настройки Windows.
Если в настройке Windows указано, что разделитель целой и дробной частей числа – запятая (для России это стандартная установка), а пользователь использовал точку (ввел в поле Напряжение (Edit 1) строку10.5), то при выполнении инструкции:
u = StrToFloat(Editl › Text);
Возникнет исключение, т. к. при указанной настройке Windows содержимое поля редактирования и, следовательно, аргумент функции StrToFloat не является изображением дробного числа.
Если программа запущена из среды разработки, то при возникновении исключения выполнение программы приостанавливается и на экране появляется окно с сообщением об ошибке и ее типе. В качестве примера на рис. 2.35 приведено окно сообщения о возникновении исключения, причина которого заключается в том, что строка, введенная пользователем в поле редактирования, не является дробным числом.
Рис. 2.35. Пример сообщения о возникновении исключения (программа запущена из C++ Builder)