Главная arrow Статьи arrow Нововведения RAD Studio 2007 (C++Builder 2007)  
10.02.2012
Главное меню
Главная
Лаборатория
Книги по дельфи
Инструменты
Статьи
Видео
Юмор
Ссылки
Поиск
База знаний Delphi
Общие вопросы
Windows, WinAPI
Графика, Звук
IDE Delphi
Консоль
Авторизация





Забыли пароль?
Вы не зарегистрированы. Регистрация
Каталог@Mail.ru - каталог ресурсов интернет
Нововведения RAD Studio 2007 (C++Builder 2007) Версия для печати
Рейтинг: / 11
ХудшаяЛучшая 
Написал Alexeis   
03.08.2007

Перевод краткой обзорной статьи о всех нововведениях в C++Builder 2007. Описаны новые технологи, изменения среды, компилятор, отладчика, изменения в технологии баз данных, и других классах и компонентах.

Оригинальная статья

RAD Studio 2007 предоставляет новые возможности для разработки приложений написанных на C++.

C++Builder 2007

Следующие средства были введены впервые или значительно изменены.

  • MSBuild стала новым движком для компиляции проектов: Теперь при компиляции проекта на С++ MSBuild выполняет весь процесс компиляции (билда). Для этих целей была изменена структура файла проекта, он теперь является XML файлом и содержит все необходимые для MSBuild настройки. Расширение файла проекта изменено на .cbproj. Это позволяет производить компиляцию из командной строки используя синтаксис командной строки MSBuild.
  • Изменен порядок билда: MSBuild производит компиляцию файлов в соответствии с типом файла (расширением), вместо старого порядка, который определялся временем последнего изменения файла. Порядок таков Delphi .pas, C/C++ .c .cpp, Ассемблер .asm, затем ресурсы .rc. Внутри каждой папки или виртуальной папки, файлы компилируются в порядке соответствующем их типу.
  • Опции компиляции теперь более широкие: Новые опции можно устанавливать на вкладках раздела Project->Options. Опции хранят наборы настроек командной строки для билда, такие как настройки компилятора, компоновщика и MSBuild. Теперь стало возможным создание раздельных настроек для 3х режимов (основная, отладочная, и релизовая).
  • Новая система конфигурирования устанавливает текущий режим компиляции: Для изменения текущего режима билда достаточно перейти Project->Configuration Manager и выбрать конфигурацию, которую вы намереваетесь использовать для текущего проекта или группы проектов. Configuration Manager заменил старый метод установки конфигураций проектов C++ новым, позволяющим просто устанавливать режим работы.
  • Диалог Project Options был реорганизован Добавлены новые закладки в раздел Project->Options, и некоторые из существующих были переименованы для лучшей организации настроек. Добавлены такие опции как -Vb. Эта опция поддерживаемая конструкторами С++, но больше не входит в стандарт С++. Project Properties теперь позволяет указывать как компилятор С++ должен управлять путями к библиотекам для проверки зависимостей пакетов, показа зависимостей заголовочных файлов или системы автопроверки зависимостей.
  • Возможность объединения настроек проекта: Некоторые настройки проекта имеют галочку "Merge". Когда она установлена, то состояние текущей настройки переноситься также и в предыдущую конфигурацию. Опция не меняет состояние текущей конфигурации.
  • Новые проименованные настройки: Вы можете создавать и сохранять и применять проименованный набор настроек во вкладке build-related раздела Project->Options. Проименованные настройки сохраняются в файлы с расширением .optset.
  • Настройки событий компиляции: Вы можете установить команды, которые будут исполняться в различных точках во время процесса компиляции (Новые события производимые до компоновки(pre-link); Возможность создания событий до и после компиляции была введена ранее). Нужно сделать клик правый кнопкой мыши по файлу (из числа компилируемых) в Project Manager выбрать Build Events.
  • Стало возможным в проект добавление файлов .targets: Файл типа .targets представляет собой XML файл, который содержит скрипты MSBuild, подобные списку задач, которые нужно выполнить.
  • Изменилось расположение папки для демо кода: Она сейчас расположена MyDocuments\RAD Studio\Demos. Папка была перенесена в связи ограничениями Microsoft Vista.
  • Теперь вы можете откомпилировать пакеты С++ содержащие дельфийские модули: C++ Builder поддерживает компиляцию пакетов типа design-time packages содержащих исходные коды написанные на Delphi. Тем не менее, если дельфийские модули ссылаются на модули предназначенные для работы с IDE, такие как DesignIntf, DesignEditors, и ToolsAPI расположенные в DesignIDE100.bpl, вам необходимо принять меры для разрешения этих зависимостей в пакете.
  • Компилятор C++ стал строже относиться к возможным бинарным не соответствиям (типов):  Детально об этом можно прочитать тут http://dn.codegear.com/article/36648#CPPcompiler.

Unit-тестирование в C++

Поддержка системы юнит тестирования интегрирована в DUnit Testing Framework. DUnit framework основан на JUnit test framework, и включает в себя большую часть его возможностей.

Данная система позволяет быстро генерировать скелетный тестовый проект, который вызовет инициализирующие и финализирующие методы и создаст основные тесты. Допускается изменение шаблонов, путем добавления специфических тестов на логику позволяющих тестировать ваши специфические (дополнительные) методы.

Запуск теста производиться как при помощи консольного Test Runner так и системы DUnit GUI Test Runner. Консольный Test Runner выводит результаты вывода прямо в консоль, а DUnit GUI Test Runner отображает результаты теста в интерактивном режиме в GUI окно, выделяя текст результата разными цветами, благодаря чему можно сразу увидеть какие тесты пройдены успешно, а какие нет.

Веб сервисы C++Builder теперь поддерживают расширения

Веб сервисы C++Builder теперь включают следующее:

  • Неограниченные элементы
  • Опциональные элементы
  • nullable элементы
  • WSDL and схемы которые импортируют внешние схемы

Эти улучшения позволяют веб службам C++Builder быть совместимыми современными службами, позволяя аналогично Delphi, взаимодействовать с более надежными веб службами, такими как eBay, Amazon, MapPoint, и т.д.

IDE

Следующие ключевые изменения были внесены в среду разработки (IDE):

  • Поддержка тем Vista и XP: IDE теперь поддерживает темы Windows Vista и XP. Темы теперь включаются по умолчанию, но оставлена возможность их отключения, как для конкретного проекта так и для всей среды.
  • Дубликаты имен файлов: Теперь стало возможным добавление в проект нескольких модулей с одинаковыми именами, например если включите в проект файлы Common\source1.cpp и Product\source1.cpp. IDE управляет генерацией имен обоих объектных файлов так чтобы не произошло конфликта, и было возможным использование объектов из обоих файлов.
  • Расширенные возможности менеджера памяти: Новый менеджер памяти, выпущенный с Borland Developer Studio 2006, теперь полностью задокументирован в релизе RAD Studio 2007 (C++Builder 2007). Справка включает: конфигурирование менеджера памяти, мониторинг менеджера памяти, а также использование ShareMem и SimpleShareMem для объединения менеджера памяти (Dll и программы). Описание новых функций и переменных см. ниже.
  • Возможность множественного выделения в Project Manager: Удерживая клавишу CTRL можно выбрать несколько файлов в диалогах Open, Save, Save As, и Remove from Project и вызывать команды контекстного меню Project Manager.
  • Новый файловый браузер: Для вызова File Browser и выполнения всех базовых команд или просмотра SVN статуса файла выбираем View File Browser.
  • Новый тулбар и окно просмотра структуры: Новый тулбар доступен только в С++ и позволяет сортировать элементы в алфавитном порядке, группировать по типу, видимости, показывать тип и видимость элементов.
  • Виртуальные папки в Project Manager: Виртуальные папки позволяют создавать связи внутри древовидной структуры, которые в свою очередь меняют порядок компиляции файлов.

Debugger

Следующие возможности были введены или значительно изменены:

  • Ограничение возможности прокрутки в логе событий: Новую опцию можно установить Tools Options Debugger Options Event Log. Она предотвращает авто прокрутку при появлении очередного события в логе.
  • Окно CPU: Окно было разделено на ряд панелей, которыми теперь можно управлять по отдельности. Введены следующие панели CPU, Disassembly, CPU Stack, и Registers. Как и все панели их можно переносить и скрывать по необходимости (так как сделано в Visual C++ :) ). Панель CPU автоматически скрывается по окончанию сессии отладки. Панель Disassembly содержит теперь две новые опции Show Opcodes и Show Addresses (Показ кодов команд и адресов).
  • Окно Call Stack: Теперь можно ставить брейкпоинты на любой строчке (в окне Call Stack).
  • Игнорирование всех точек останова кроме пользовательских: Эта функция позволяет игнорировать брекпоинты не установленные из IDE.
  • Путь к отладчику: Теперь это глобальная настройка которую можно установить на странице Project Options Debugger.
  • Новая кнопка на тулбаре: Команда Notify on Language Exceptions теперь доступна на странице View Toolbars Customize Commands Categories Run . Для удобства на нее можно кликнуть и перенести на одну из панелей тулбара.
  • Прозрачные tooltips: Для вклчения прозрачности tooltip, досточно удерживать клавишу CTRL во время показа tooltip. Прозрачность позволит читать текст, который закрывает tooltip при появлении.

Together Modeling

Впервые в С++ введена система Together modeling:

  • Поддержка быстрого моделирования для Together: В C++ Builder 2007 функция Together modeling, теперь полностью интегрирована в IDE и позволяет визуализацию кода, генерацию документации, построение диаграм.
  • C++ диаграммы класов Diagrams (Code Visualization): Диаграммы классов не доступны для редактирования. Можно создавать свои диаграммы, но создание диаграмм классов и интерфейсов в Model View недоступно.
  • Design Diagrams: Полный набор для построения design diagrams доступен только в версии Enterprise edition. Набор включает диаграммы-ряды, collaboration diagrams, диаграмму состояний, deployment diagrams, case diagrams, activity diagrams, и component diagrams.
  • Печать диаграмм и создание документации: Печать диаграмм доступна как Professional так и Enterprise версиях. Enterprise версия также поддерживает генерацию документации.

Замечание:

В настоящее время все описанные возможности системы Together поддерживаются только в специальном релизу. Набор инструментов текущего релиза ограничен.

Database

Для улучшения поддержки СУБД в C++Builder 2007 введено много изменений.

dbExpress

Поддержка юникода была добавлена в драйвера Oracle, Interbase, и MySQL dbExpress drivers.

Новые клиентские драйвера были добавлены в Interbase 2007 и MySQL 4.1 и 5.

Появился новый dbExpress framework. Данный framework может быть использован как интерфейс для существующих драйверов, так и для написания новых драйверов расширяя абстрактные классы dbExpress framework. Framework можно использовать напрямую как для native так и managed

Делегированный драйвер - это драйвер между приложением и текущим драйвером. Делегированные драйвера позволяют производить действия как перед, так и после выполнения методов т свойств dbExpress 4 framework. Делегированные драйвера полезны также для создания пула соединений, driver profiling, трейсига, и auditing.

API dbExpress VCL компонентов был значительно изменен. Однако эти изменения не повлияют на работу большинства приложений. Тем не менее некоторые из методов, свойств, событий, констант и перечислений били удалены и заменены другими с эквивалентной функциональностью.

Возможно также использование компонентов dbExpress VCL верхнего уровня framework-а как для native так и managed приложений. Есть небольшие изменения в компонентах TSQLConnection (изменены методы), TSQLDataSet (новое свойство), и структурах данных (изменены или заменены на другие).

The dbExpress driver framework:

  • Используются строго типизированный доступ к данным вместо использования указателей. Например, framework использует строковый тип вместо указателя на строку.
  • Для драйверов, соединений, команд, ридеров и т.д. используются только абстрактные базовые классы.
  • Метод обработки ошибок основан на механизме генерации исключений, вместо возврата кода ошибок.

VCL и RTL

AJAX: C++Builder 2007 поддерживает основанную на AJAX RAD VCL систему веб разработки

Совместимость с Microsoft Vista: C++Builder 2007 содержит компоненты, классы, методы и свойства совместимые Вистой и выглядят так как это принято в Висте.

Новые VCL компоненты: Следующие классы были добавленны в VCL:

  • TFileOpenDialog
  • TFileSaveDialog
  • TTaskDialog
  • TCustomFileDialog
  • TCustomFileOpenDialog
  • TCustomFileSaveDialog
  • TCustomTaskDialog
  • TFavoriteLinkItem
  • TFavoriteLinkItems
  • TFavoriteLinkItemsEnumerator
  • TFileTypeItem
  • TFileTypeItems
  • TTaskDialogBaseButtonItem
  • TTaskDialogButtonItem
  • TTaskDialogButtons
  • TTaskDialogButtonsEnumerator
  • TTaskDialogProgressBar
  • TTaskDialogRadioButtonItem

Следующие новые функции и переменные были добавленны в новом менеджере памяти:

  • AttemptToUseSharedMemoryManager
  • GetMemoryManagerState
  • GetMemoryMap
  • GetMinimumBlockAlignment
  • RegisterExpectedMemoryLeak
  • SetMinimumBlockAlignment
  • ShareMemoryManager
  • UnregisterExpectedMemoryLeak
  • NeverSleepOnMMThreadContention
  • ReportMemoryLeakOnShutdown
Добавить новыйПоиск
комментарии
Имя:
Заголовок:
UBB-Код:
[b] [i] [u] [url] [quote] [code] [img] 
 
 
:angry::0:confused::cheer:B):evil::silly::dry::lol::kiss::D:pinch:
:(:shock::X:side::):P:unsure::woohoo::huh::whistle:;):s
:!::?::idea::arrow:
 
Security Image
Пожалуйста, введите проверочный код, который Вы видите на картинке.
 
< Пред.   След. >