Новые возможности Borland Delphi 7 Studio. Делфи 7 как пользоваться
delphi - Delphi: Как использовать элементы управления без окон?
Я знаю, что элементы управления без окон не являются волшебными. Управление без окон может иметь фокус ввода (например, Internet Explorer). Фокус ввода - не что иное, как рисование:
и когда пользователь начинает затирать ключи, реагируя соответствующим образом. Вы знаете, что нажатия клавиш предназначены для , что сфокусированное управление, потому что управление имеет фокус.
В случае моего окна (Windows & reg;) я должен был бы знать, что мой дочерний элемент управления без окон (пусть притворяется он потомок TGraphicControl) получает события клавиатуры. Поэтому во время моей формы OnKeyDown, OnChar, OnKeyUp мне нужно было бы притвориться, что они идут на мое дочернее управление без окон.
Что я могу сделать, но это боль.
Но тогда пользователь, скорее всего, захочет использовать навигацию Tab, и мне придется каким-то образом перехватить нормальную обработку управления вкладками Delphi и зацепиться за себя, чтобы сказать, что эта вещь - это следующий (и предыдущий) в порядке вкладок.
Что я могу сделать, но это боль.
И затем там ActiveControl, который ничего не понимает, кроме TWinControl. Поэтому, если Delphi когда-либо попытается выяснить, кто имеет фокус, это сойдет с ума. Поэтому мне придется иметь альтернативную реализацию ActiveControl.
Что я могу сделать, но это боль.
Другими словами: это слишком много работы? Я борюсь с eveything, что Delphi, все, поэтому я могу иметь несколько десятков элементов управления без окон, доступных через ввод с клавиатуры? Дизайнеры Delphi никогда не рассматривали использование интерактивных элементов управления без окон, и если я попытаюсь сейчас его обработать, я просто застрял в брандмауэре?
Дельфи дал мне возможность помочь мне охотно, но я выбрал способ боли.
Требуется дальнейшее объяснение элементов управления без окон.
Не каждый элемент управления, с которым вы взаимодействуете, должен быть элементом управления окнами. На самом деле вполне возможно сосредоточиться и направить ввод с клавиатуры на элемент управления, который не является окном Windows.
Например, почти каждый элемент управления, который вы видите в окне браузера Internet Explorer, является элементом управления без окон. На следующем снимке экрана вы можете увидеть элемент управления edit, который вы можете ввести, и кнопку, на которой (на этом снимке экрана) есть фокус:
alt text http://i49.tinypic.com/2d7d82e.jpg
Вы можете видеть прямоугольник с точками фокусировки, а кнопка голубоватая (что в Windows означает, что она имеет фокус).
Если бы я нажал Spacebar, тогда как кнопка Google Search имела фокус, она нажимает кнопку. Причина этого в том, что Microsoft написала всю библиотеку виджетов элементов управления. Эти элементы управления выглядят и чувствуют (почти) точно так же, как обычные общие элементы управления - они являются почти точными клонами общих элементов управления Windows, вплоть до применяемых тем.
Mozilla Firefox и Google Chrome также используют библиотеку виджетов элементов управления. Они не используют встроенные оконные элементы Microsoft, но вместо этого используют библиотеку графических интерактивных виджетах без окон.
И если у вас есть подходящая среда разработки, виджеты без окон работают так же, как "обычные" оконные элементы управления. GTK + - это библиотека виджетов, а Glade - это IDE, которая позволяет вам управлять макетами в этой библиотеке виджетов.
Я не знаю, в какой среде разработки были созданы Firefox, Chrome или Blender, но их виджеты поддерживают элементы управления без окон.
Итак, теперь на мой вопрос.
Если я ошибаюсь, мне кажется, что, хотя Delphi поддерживает базу TControl (которая имеет ширину, высоту и может рисовать сама), она не может получать фокус клавиатуры. Мне кажется, что Borland никогда не разрабатывала Delphi VCL в качестве общей библиотеки виджетов. Единственное доказательство, которое я должен поддержать, состоит в том, что форма ActiveControl является TWinControl:
property ActiveControl: TWinControl;Это не означает, что Delphi может быть или должен быть ограничен ограничиваемыми окнами элементами управления. Библиотека виджета VCL может быть расширена, чтобы поддерживать фокус на элементах управления без окон.
Но, возможно, Delphi уже поддерживает элементы управления без окон, и я просто не понимаю этого? Есть ли уже установленный механизм в Delphi для поддержки фокусировки на TControl? Но я разумный парень, и я уверен, что Delphi VCL не может делать то, что могут сделать другие библиотеки виджетов.
Что затем приводит к другому вопросу: , какая работа будет заключаться в подклассах и т.д., чтобы поддерживать его? Есть ли кто-то еще, возможно, кто-то из TeamB, который намного умнее, чем я, который уже попробовал это, и пришел к выводу, что он невозможно?
Теперь я спрашиваю, впереди, если пытаться добавить поддержку без окон, чертовски почти невозможно (т.е. бесполезно) - так что я не трачу на него ни на что. Я пытаюсь использовать знания сообщества разработчиков Delphi.
Я задаю вопрос.
qaru.site
Новые возможности Borland Delphi 7 Studio | Разные статьи | Статьи | Программирование Realcoding.Net
Borland Delphi 7 Studio включает новые возможности и улучшения...Введение
Borland Delphi 7 Studio включает новые возможности и улучшения в следующих областях:
IDE Web технологии COM технологии Database технологии Библиотека компонент Runtime библиотека Компилятор Поддержка Rave Reports Поддержка ModelMaker Документация Переход к новой версии и вопросы совместимости
1. IDE
IDE новые свойства в следующих областях:
1.1. сообщения компилятора Новый пункт меню View Additional Message открывает окно Message Hints, из которого можно загрузить и посмотреть информацию о сообщения компилятора на вебсайте Borland. Новый пункт меню Project|Options|Compiler Messages дает больший контроль над предупреждениями компилятора.
1.2. Палитра компонент Когда вы открываете приложение Borland CLX (Component Library for Cross-platform) в Delphi, то показывается новая закладка System только для CLX версии. Она включает некоторые каталоги и файловые компоненты. В предыдущей версии, закладка System показывалась только для VCL приложений и включала компоненты для системного уровня доступа. Новые закладки Indy Intercepts и Indy I/O Handlers дают доступ до open source Internet protocol компонент (Professional и Enterprise). Новые закладки IW Standard, IW Data, IW Client Side, и IW Control дают доступ до AtoZed Software IntraWeb компонент разработки Web приложений. Новая закладка Rave доступ до компонент генерации отчетов в ваших приложениях. Все закладки могут прокручиваться по горизонтали для отображения дополнительных икон, также есть выпадающее меню для списка дополнительных икон.
1.3. CodeInsight Завершение кода (Code completion) теперь работает быстрее и позволяет вам просматривать их объявление с помощью Ctrl+click на любом идентификаторе в списке. Завершение кода для HTML автоматически показывает допустимые HTML элементы и атрибуты в редакторе кода (Professional и Enterprise). Вы можете создать собственные версии менеджеров для завершения кода с помощью OpenTools API. Дополнительную информацию можно посмотреть в справочной системе, по теме "Extending the IDE". Пункт меню Tools|Editor Options|Code Insight позволяет вам настроить цветовую подсветку для символов CodeInsight.
1.4. Отладчик Окно Watch List теперь имеет: Множественные позиции табуляции, разрешая вам организовать просмотр в должном виде, для более удобной отладки. Для того, что бы добавить группу просмотра, сделайте щелчок правой кнопкой мышки и выберите Add Group. Колонка Watch Name и колонка Value. Для показа или скрытия заголовков колонок сделайте щелчок правой кнопкой мышки в Watch List и выберите Show Column Headers. Checkbox разрешает разрешать или запрещать отдельные просмотры. Пункт меню Tools|Debugger Options|Event Log имеет следующие новые параметры: Use Event Log Colors разрешает вам показывать различные типы сообщений в цвете для разных типов сообщений в логе (event log). Module messages записывает сообщение в лог каждый раз, когда модуль (exe, dll, ocx, и т.д.) загружается или выгружается процессом, который вы отлаживаете. Ранее, параметр Process messages только контролировал, какие сообщения требовалось регистрировать. Диалог Run Parameters имеет новый параметр, Working Directory, который позволяет указать имя рабочего каталога для отлаживаемого процесса.
1.5. Различные улучшения IDE Из Project Manager, вы можете частично компилировать проекты внутри группы, путем выбора пункта, с помощью правой кнопки мышки, Make All from Here или Build All from Here. Окно Message view имеет множественные позиции табуляции для различных типов сообщений (Build, Search, и т.п.). Команда View|Component List позволяет вам делать множественный выбор компонент, при нажатой клавише Ctrl. Новый пункт меню Tools|Editor Options|Source Options позволяет вам: Установить различные параметры для различных типов исходных файлов, таких как Pascal, C++, C#, HTML, и XML. Показывать символы табуляции и пробелов в редакторе кода. Шаблоны кода Edit. Некоторые из параметров ранее были на страницах General, Display и CodeInsight диалога Editor Properties. Пункт меню Tools|Editor Options|Color имеет два новых параметра, Foreground Color и Background Color, вместо сетки цветов, для выбора и установки цветов в редакторе кода. С помощью Alt+Page Down и Alt+Page Up можно циклически переключаться между закладками, такими как Code Editor, Watch Window и Message view. Эти клавиатурные ускорители включены в Default, IDE Classic и BRIEF назначения клавиш. Delphi теперь имеет двух тоновое главное меню.
2. Web технологии
В Delphi 7 Studio редакции Enterprise и Professional:
Delphi теперь включает IntraWeb от AToZed Software. Вы можете использовать IntraWeb для разработки Web серверных приложений, используя стандартный редактор форм. Вы можете также использовать IntraWeb для разработки страниц, для Borland WebBroker и WebSnap приложений. Для дополнительной информации смотрите "Creating Web server applications using IntraWeb" в Developer's Guide или в справочной системе. Delphi 7 Studio Enterprise полный набор IntraWeb. Delphi 7 Studio Professional включает только ограниченный набор IntraWeb. Delphi теперь поддерживает Apache 2 как платформу для WebBroker, WebSnap и SOAP. Borland отказался от использования Win-CGI, как платформы для разработки Web серверных приложений и Web сервисов. Borland рекомендует вместо этого использовать обычные CGI, ISAPI/NSAPI или Apache типы. Существующие Win-CGI проекты пока можно изменять и компилировать в IDE, тем не менее, Borland не гарантирует Win-CGI совместимость в неопределенном будущем.
2.1. Web сервисыWeb сервисы включают следующие изменения:
Новый UDDI браузерМастер импорта WSDL именно новый Universal Description, Discovery и Integration (UDDI) браузер, что разрешает вам искать в UDDI реестре для Web Service и импортировать адрес в WSDL документ. Заголовки SOAPНовые классы и интерфейсы разрешают вам читать или вставлять заголовки в SOAP конверты (envelopes), что бы передавать сообщения между клиентами и серверами. Более подробно смотрите "Defining and using SOAP headers" и "Processing headers in client applications" в Developer's Guide или в справочной системе. Вложения (Attachments)Web Services приложения (оба и клиент и сервер) могут теперь включать вложения. Вложения (наследники TSOAPAttachment) посылаются с помощью кодированных сообщений (SOAP-encoded messages) как часть много форматной формы. Когда приложение получает вложение, то оно сохраняется во временном файле, который затем становится доступным для вашего приложения. Поддержка типов
Вы можете управлять преобразованием между удаленными классами и их SOAP представлением, переписав два виртуальных метода, которые были добавлены к TRemotable: ObjectToSOAP и SOAPToObject. Объекты исключения для исключений, которые происходят при ответе на запрос Web сервиса (экземпляры ERemotableException) теперь содержат больше информации из пакета ошибки SOAP (SOAP fault packet). Определения типов автоматически регистрируются в удаленном реестре типов при регистрации запрашиваемого интерфейса. TXSDecimal имеет новое свойство AsBcd для более простого преобразования между XML и подлинными (native) типами. Подобно, TXSHexBinary имеет новое AsByteArray свойство. Удаленные классы представления времени теперь имеют дробную часть секунды вместо представления в виде миллисекунд. Прочие улучшения
Новые события в THTTPReqResp позволяют отделить HTTP сообщения до их и индикации прогресса при передаче или приеме длинных сообщений. THTTPSoapPascalInvoker теперь имеет опубликованные события, которые позволяют вам писать код до или после выполнения инвокер (invoker) выполнит запрошенный метод вызова. Теперь вы имеете большее управление над связыванием с извлекаемыми интерфейсами и WSDL документами. TWSDLHTMLPublish теперь публикует некоторые события, позволяя вам управлять генерацией WSDL. Вы можете также идентифицировать мапирование между возвращаемыми функцией значениями и именами параметров, с помощью пространства имен и действиями по умолчанию SOAP. На клиентской стороне, литеральное кодирование теперь поддержано, также как RPC кодирование. Новый интерфейс IRIOAccess позволяет вам иметь доступ до удаленного интерфейсного объекта, который реализует вызываемый интерфейс. Интерфейс IOPConvert имеет новое свойство: Encoding. Оно позволяет указать вам набор символов для передачи кодированных сообщений, передаваемых между клиентом и провайдером Web сервиса. Есть также изменения в Web сервисах, которые затрагивают Borland DataSnap приложения. Для более подробной информации смотрите главу "Database технологии". TLinkedRIO конструктор теперь автоматически генерирует отдельные имена файлов для каждого метода, который вы вызываете, делая отладку более простой. TOPToSoapDomConvert теперь имеет два новых события, которые позволяют вам при отладке десериализацию SOAP пакетов. Теперь вы можете использовать перегруженные методы на вызываемых интерфейсах, которые вы определили.
3. COM технологии
Delphi 7 Studio Enterprise и Professional редакции:Теперь вы можете использовать диалог Import Type Library (Project|Import Type Library) для создания обертки (wrapper) для Microsoft® .NET assemblies. Вы можете использовать обертку как для обычного COM сервера, используя interoperability свойство .NET.
4. Database технологииDelphi 7 Studio Enterprise и Professional редакции:
Драйвера dbExpress были обновлены для IBM DB2 7.2 and Informix SE, Oracle9i, Borland InterBase 6.5, и MySQL 3.23.49. Для Microsoft SQL 2000 новый драйвер. Несколько новых и ряд обновленных компонент. Подробности в главе "Библиотека компонент ". Borland отказался от использования SQL Links; в дальнейшем никаких улучшений для SQL Links не будет делаться и также SQL Links не будут включаться в состав Delphi после 2002. Borland рекомендует использовать dbExpress для доступа SQL серверам баз данных.
4.1. DataSnapDelphi 7 Studio только в Enterprise редакции:
В DataSnap приложениях, использование IAppServer было изменено на IAppServerSOAP, который обходит некоторые проблемы в IAppServer интерфейсе. Свойство UseSOAPAdapter TSoapConnection можно использовать для написания клиентов для серверов написанных на старых версиях Delphi. TSoapConnection также публикует несколько новых событий для управления вашими клиентскими приложениями в разных точках выполнения процесса запроса Web сервиса. Теперь вы можете указывать конкретный SOAP модуль данных в сервере приложений, который имеет несколько модулей данных. Используйте свойство SOAPServerIID или добавьте интерфейс модуля в конце URL. Теперь вы можете использовать компонент SOAP connection для вызова расширения интерфейса сервера приложений. Используйте свойство SOAPServerIID и метод GetSOAPServer. DataSnap более не поддерживает CORBA соединения.
5. Библиотека компонент
5.1. Поддержка тем Windows XPВ Delphi Studio 7 Enterprise и Professional, приложения Borland VCL теперь включают компоненты, которые разрешают поддержку Windows® общих органов версии 6. Ваше приложение автоматически использует новые органы Windows на системе Windows XP, если найдет подходящий манифест файл. Более подробно об этом в руководстве Developer's Guide тема "Common controls and XP themes" или в справочной системе.
5.2. Новый модуль
Новый модуль DBClientActns содержит три новых компоненты для работы с клиентскими наборами данных: TClientDataSetApply, TclientDataSetUndo и TClientDataSetRevert.
5.3. Новые компоненты
Закладка dbExpress на палитре компонент включает TSimpleDataSet для использования с простыми, двух уровневыми приложениями баз данных (TSimpleDataSet заменяет TSQLClientDataSet). Закладка Dialogs на палитре компонент включает TPageSetupDialog для доступа к стандартному диалогу Windows page setup. Закладка Additional на палитре компонент включает TXPColorMap, TstandardColorMap и TTwilightColorMap для управления цветом меню и тулбаров. Новая CLX версия закладки System на палитре компонент включает новые компоненты для работы с файлами и папками. Новые закладки Indy Intercepts и Indy I/O Handlers на палитре компонент включают доступ до Internet протоколов, только в Professional и Enterprise.
5.4. Измененные компоненты CLX версия TOpenDialog и TSaveDialog была расширена для поддержки дополнительных свойств, таких как препросмотр файла. VCL версия TCustomForm имеет два новых свойства, ScreenSnap и SnapBuffer, которые управляют поведением формы при перемещении и достижению края экрана. TCustomComboBoxEx имеет новое свойство AutoCompleteOptions, которое разрешает комбо боксу реагировать на ввод символов пользователем. CLX диалоги, которые исходят от TOpenDialog и TqtDialog, могут теперь использовать общие диалоги Windows вместо Qt диалогов. Данное поведение управляется свойством UseNativeDialog, по умолчанию установлено в true.
5.5. Брошенные компонентыИнформацию об устаревших, заброшенных компонентах можно найти в readme.txt файле из папки Delphi 7 Studio.
6. Runtime библиотека
6.1. Модуль Classes Добавлен новый класс исключения EFileStreamError. EFileStreamError и EFOpenError порождаются от этого класса. Этот новый класс может иметь параметр FileName. В результате, текст сообщения исключения теперь содержит имя файла, в котором произошла ошибка. Класс TStrings имеет два новых свойство, ValueFromIndex и NameValueSeparator. Методы TThread.CheckThreadError были перемещены из private части в protected.
6.2. Модуль Math
В модуле Math появился новый параметр, по умолчанию, RaisePending, в процедуре ClearExceptions.
6.3. Модуль StdConvsМодуль StdConvs теперь включает Стоун в поддержанных мерах веса.
6.4. Модуль StrUtils
Для поддержки multibyte character set (MBCS) в модуль StrUtils внесены следующие изменения:
Ранее, функции LeftStr, RightStr и MidStr каждая имели тип параметра AnsiString и тип возврата и не поддерживали MBCS строки. Каждая из этих функций теперь заменена парой перегруженных функций, одна возвращает AnsiString, а другая принимает и возвращает WideString. Новые функции корректно обрабатывают MBCS строки. Эти изменения делает непригодным код, использовавший эти функции для записи и извлечения байтовых значений в AnsiStrings. Такой код должен быть пересмотрен для использования с помощью новых байт ориентированных функций, описанных ниже. Новые функции LeftBStr, RightBStr и MidBStr предоставляют доступ для манипуляций на байтовом уровне, ранее предоставляемый функциями LeftStr, RightStr и MidStr. Новые функции AnsiLeftStr, AnsiRightStr и AnsiMidStr аналогичны новым AnsiStr LeftStr, RightStr и MidStr функциям, за исключением, что они не перегружены эквивалентными WideString функциями. Модуль StrUtils имеет новую функцию для поиска, название PosEx.
6.5. Модуль SysUtils
Модуль SysUtils теперь включает thread-safe перегруженные процедуры для форматирования и разбора (парсинга) чисел, дат и денежных форматов. Новые процедуры thread-safe, поскольку они получают информацию о локализации не их глобальных переменных, а из структуры TFormatSettings. Данная структура данных должна быть заполнена перед использованием; новая функция GetLocaleFormatSettings, должна использоваться для заполнения структуры из конкретной локали.
6.6. Модуль VarCmplx
Модуль VarCmplx имеет новые функции: VarComplexLog2, VarComplexLog10, VarComplexLogN, VarComplexTimesImaginary и VarComplexTimesReal.
6.7. Модуль Variants Добавлены новые функции VarIsError и VarAsError. Исключение EVariantError теперь стало базовым классом для порождения классов исключений, из кода работы с вариантами. Добавлено несколько глобальных управляющих переменных: NullEqualityRule, NullMagnitudeRule, NullStrictConvert, NullAsStringValue и PackVarCreation.
7. Компилятор
Компилятор Delphi теперь поддерживает три новых предупреждения: Unsafe_Type, Unsafe_Code и Unsafe_Cast. Данные предупреждения запрещены по умолчанию, но могут быть разрешены с помощью следующих директив {$WARN UNSAFE_CODE ON}, с помощью ключей командной строки компилятора dcc32 -W+UNSAFE_CODE и в среде, Project|Options|Compiler Messages. Данное свойство предназначено для помощи в переносе вашего кода на платформу .NET. В обслуживаемой среде выполнения, "unsafe" означает, что операция не может быть проверена во время статического анализа, выполняемого компилятором Just In Time (JIT). Такой код может серьезным риском в безопасности, поскольку здесь недостаточно информации для компилятора JIT для проверки его runtime поведения. Примером опасного кода, являются операции с указателями и перезапись памяти.
8. Поддержка Rave Reports
Delphi 7 Studio Enterprise и Professional редакции:Среда Delphi теперь включает Rave Reports от Nevrona. Добавив Rave Reports компоненты в ваше приложение, вы позволяете вашим пользователям делать отчеты в вашем приложении. Для более подробной информации смотрите главу "Creating reports with Rave Reports" в Developer's Guide или справочной системе.
9. Поддержка ModelMakerDelphi 7 Studio Enterprise и Professional редакции:Инструмент ModelMaker позволяет упростить разработку, конструкцию и обслуживание классов и интерфейсов. ModelMaker также включает инструмент для создания UML диаграмм, которые могут использоваться для создания и модификации исходного кода ваших проектов. Для более подробной информации смотрите главу "Designing classes and components with ModelMaker" в Developer's Guide или справочной системе. Delphi 7 Studio Enterprise включает ModelMaker от ModelMaker software. Delphi 7 Studio Professional включает 30-дневную триал версию Model Maker. Функциональность ModelMaker идентична в обеих редакциях Delphi.
10. Документация
Все файлы документации (PDF, HTML, and INT) теперь размещены в папке Online+PDF Docs на диске Delphi Companion Tools CD вместо инсталляционного CD. Вы можете иметь доступ или напрямую с CD или скопировать в любую папку по вашему выбору. В связи с ограничения для печатной версии Developer's Guide, Глава 5 "Creating custom components," была изъята из книги для создания нового руководства "Component Writer's Guide". Новая книга доступна в online Help и как PDF файл на Delphi Companion Tools CD. Язык Object Pascal теперь называется Delphi language. Online Help и документация были изменены одновременно. Книга Object Pascal Language Guide теперь называется Delphi Language Guide. Для обеспечения точности Delphi руководств, они были изъяты из Quick Start и Developer's Guide. Руководства доступны, как PDF файлы на Delphi Companion Tools CD. Некоторые из тем в Delphi online help включают C++ синтаксис и примеры для Borland Kylix и C++Builder пользователей. Для Delphi разработки, пожалуйста, игнорируйте эти примеры.
11. Переход к новой версии и вопросы совместимости
Для вопросов перехода к новой версии и вопросов совместимости, смотрите readme.txt файл в папке с инсталляцией Delphi 7. Для перехода к новой версии Delphi (ранее Object Pascal) языка возьмите проекты из предыдущей версии Delphi и откройте их в новой версии. Проект автоматически преобразуется в новую версию. Подробности в Fault сообщениях теперь добавлены в узел вместо записей узла. Это сделано в соответствии со спецификацией SOAP faults, но принесет некоторые проблемы с обратной совместимостью со старым кодом. Изменения в модуле StrUtils функций LeftStr, RightStr и MidStr могут потребовать переработать старый код, который использовал эти функции. Смотрите "Runtime библиотека" для подробностей. Для Apache 2, переменная "ContentType" была сменена на "handler" в модуле ApacheApp. DataSnap больше не поддерживает CORBA соединения.
Copyright© 2002 Borland Software Corporation, перевод Анатолия Подгорецкого
www.realcoding.net
Новые возможности Borland Delphi 7 Studio | Разные статьи | Статьи | Программирование Realcoding.Net
Borland Delphi 7 Studio включает новые возможности и улучшения...Введение
Borland Delphi 7 Studio включает новые возможности и улучшения в следующих областях:
IDE Web технологии COM технологии Database технологии Библиотека компонент Runtime библиотека Компилятор Поддержка Rave Reports Поддержка ModelMaker Документация Переход к новой версии и вопросы совместимости
1. IDE
IDE новые свойства в следующих областях:
1.1. сообщения компилятора Новый пункт меню View Additional Message открывает окно Message Hints, из которого можно загрузить и посмотреть информацию о сообщения компилятора на вебсайте Borland. Новый пункт меню Project|Options|Compiler Messages дает больший контроль над предупреждениями компилятора.
1.2. Палитра компонент Когда вы открываете приложение Borland CLX (Component Library for Cross-platform) в Delphi, то показывается новая закладка System только для CLX версии. Она включает некоторые каталоги и файловые компоненты. В предыдущей версии, закладка System показывалась только для VCL приложений и включала компоненты для системного уровня доступа. Новые закладки Indy Intercepts и Indy I/O Handlers дают доступ до open source Internet protocol компонент (Professional и Enterprise). Новые закладки IW Standard, IW Data, IW Client Side, и IW Control дают доступ до AtoZed Software IntraWeb компонент разработки Web приложений. Новая закладка Rave доступ до компонент генерации отчетов в ваших приложениях. Все закладки могут прокручиваться по горизонтали для отображения дополнительных икон, также есть выпадающее меню для списка дополнительных икон.
1.3. CodeInsight Завершение кода (Code completion) теперь работает быстрее и позволяет вам просматривать их объявление с помощью Ctrl+click на любом идентификаторе в списке. Завершение кода для HTML автоматически показывает допустимые HTML элементы и атрибуты в редакторе кода (Professional и Enterprise). Вы можете создать собственные версии менеджеров для завершения кода с помощью OpenTools API. Дополнительную информацию можно посмотреть в справочной системе, по теме "Extending the IDE". Пункт меню Tools|Editor Options|Code Insight позволяет вам настроить цветовую подсветку для символов CodeInsight.
1.4. Отладчик Окно Watch List теперь имеет: Множественные позиции табуляции, разрешая вам организовать просмотр в должном виде, для более удобной отладки. Для того, что бы добавить группу просмотра, сделайте щелчок правой кнопкой мышки и выберите Add Group. Колонка Watch Name и колонка Value. Для показа или скрытия заголовков колонок сделайте щелчок правой кнопкой мышки в Watch List и выберите Show Column Headers. Checkbox разрешает разрешать или запрещать отдельные просмотры. Пункт меню Tools|Debugger Options|Event Log имеет следующие новые параметры: Use Event Log Colors разрешает вам показывать различные типы сообщений в цвете для разных типов сообщений в логе (event log). Module messages записывает сообщение в лог каждый раз, когда модуль (exe, dll, ocx, и т.д.) загружается или выгружается процессом, который вы отлаживаете. Ранее, параметр Process messages только контролировал, какие сообщения требовалось регистрировать. Диалог Run Parameters имеет новый параметр, Working Directory, который позволяет указать имя рабочего каталога для отлаживаемого процесса.
1.5. Различные улучшения IDE Из Project Manager, вы можете частично компилировать проекты внутри группы, путем выбора пункта, с помощью правой кнопки мышки, Make All from Here или Build All from Here. Окно Message view имеет множественные позиции табуляции для различных типов сообщений (Build, Search, и т.п.). Команда View|Component List позволяет вам делать множественный выбор компонент, при нажатой клавише Ctrl. Новый пункт меню Tools|Editor Options|Source Options позволяет вам: Установить различные параметры для различных типов исходных файлов, таких как Pascal, C++, C#, HTML, и XML. Показывать символы табуляции и пробелов в редакторе кода. Шаблоны кода Edit. Некоторые из параметров ранее были на страницах General, Display и CodeInsight диалога Editor Properties. Пункт меню Tools|Editor Options|Color имеет два новых параметра, Foreground Color и Background Color, вместо сетки цветов, для выбора и установки цветов в редакторе кода. С помощью Alt+Page Down и Alt+Page Up можно циклически переключаться между закладками, такими как Code Editor, Watch Window и Message view. Эти клавиатурные ускорители включены в Default, IDE Classic и BRIEF назначения клавиш. Delphi теперь имеет двух тоновое главное меню.
2. Web технологии
В Delphi 7 Studio редакции Enterprise и Professional:
Delphi теперь включает IntraWeb от AToZed Software. Вы можете использовать IntraWeb для разработки Web серверных приложений, используя стандартный редактор форм. Вы можете также использовать IntraWeb для разработки страниц, для Borland WebBroker и WebSnap приложений. Для дополнительной информации смотрите "Creating Web server applications using IntraWeb" в Developer's Guide или в справочной системе. Delphi 7 Studio Enterprise полный набор IntraWeb. Delphi 7 Studio Professional включает только ограниченный набор IntraWeb. Delphi теперь поддерживает Apache 2 как платформу для WebBroker, WebSnap и SOAP. Borland отказался от использования Win-CGI, как платформы для разработки Web серверных приложений и Web сервисов. Borland рекомендует вместо этого использовать обычные CGI, ISAPI/NSAPI или Apache типы. Существующие Win-CGI проекты пока можно изменять и компилировать в IDE, тем не менее, Borland не гарантирует Win-CGI совместимость в неопределенном будущем.
2.1. Web сервисыWeb сервисы включают следующие изменения:
Новый UDDI браузерМастер импорта WSDL именно новый Universal Description, Discovery и Integration (UDDI) браузер, что разрешает вам искать в UDDI реестре для Web Service и импортировать адрес в WSDL документ. Заголовки SOAPНовые классы и интерфейсы разрешают вам читать или вставлять заголовки в SOAP конверты (envelopes), что бы передавать сообщения между клиентами и серверами. Более подробно смотрите "Defining and using SOAP headers" и "Processing headers in client applications" в Developer's Guide или в справочной системе. Вложения (Attachments)Web Services приложения (оба и клиент и сервер) могут теперь включать вложения. Вложения (наследники TSOAPAttachment) посылаются с помощью кодированных сообщений (SOAP-encoded messages) как часть много форматной формы. Когда приложение получает вложение, то оно сохраняется во временном файле, который затем становится доступным для вашего приложения. Поддержка типов
Вы можете управлять преобразованием между удаленными классами и их SOAP представлением, переписав два виртуальных метода, которые были добавлены к TRemotable: ObjectToSOAP и SOAPToObject. Объекты исключения для исключений, которые происходят при ответе на запрос Web сервиса (экземпляры ERemotableException) теперь содержат больше информации из пакета ошибки SOAP (SOAP fault packet). Определения типов автоматически регистрируются в удаленном реестре типов при регистрации запрашиваемого интерфейса. TXSDecimal имеет новое свойство AsBcd для более простого преобразования между XML и подлинными (native) типами. Подобно, TXSHexBinary имеет новое AsByteArray свойство. Удаленные классы представления времени теперь имеют дробную часть секунды вместо представления в виде миллисекунд. Прочие улучшения
Новые события в THTTPReqResp позволяют отделить HTTP сообщения до их и индикации прогресса при передаче или приеме длинных сообщений. THTTPSoapPascalInvoker теперь имеет опубликованные события, которые позволяют вам писать код до или после выполнения инвокер (invoker) выполнит запрошенный метод вызова. Теперь вы имеете большее управление над связыванием с извлекаемыми интерфейсами и WSDL документами. TWSDLHTMLPublish теперь публикует некоторые события, позволяя вам управлять генерацией WSDL. Вы можете также идентифицировать мапирование между возвращаемыми функцией значениями и именами параметров, с помощью пространства имен и действиями по умолчанию SOAP. На клиентской стороне, литеральное кодирование теперь поддержано, также как RPC кодирование. Новый интерфейс IRIOAccess позволяет вам иметь доступ до удаленного интерфейсного объекта, который реализует вызываемый интерфейс. Интерфейс IOPConvert имеет новое свойство: Encoding. Оно позволяет указать вам набор символов для передачи кодированных сообщений, передаваемых между клиентом и провайдером Web сервиса. Есть также изменения в Web сервисах, которые затрагивают Borland DataSnap приложения. Для более подробной информации смотрите главу "Database технологии". TLinkedRIO конструктор теперь автоматически генерирует отдельные имена файлов для каждого метода, который вы вызываете, делая отладку более простой. TOPToSoapDomConvert теперь имеет два новых события, которые позволяют вам при отладке десериализацию SOAP пакетов. Теперь вы можете использовать перегруженные методы на вызываемых интерфейсах, которые вы определили.
3. COM технологии
Delphi 7 Studio Enterprise и Professional редакции:Теперь вы можете использовать диалог Import Type Library (Project|Import Type Library) для создания обертки (wrapper) для Microsoft® .NET assemblies. Вы можете использовать обертку как для обычного COM сервера, используя interoperability свойство .NET.
4. Database технологииDelphi 7 Studio Enterprise и Professional редакции:
Драйвера dbExpress были обновлены для IBM DB2 7.2 and Informix SE, Oracle9i, Borland InterBase 6.5, и MySQL 3.23.49. Для Microsoft SQL 2000 новый драйвер. Несколько новых и ряд обновленных компонент. Подробности в главе "Библиотека компонент ". Borland отказался от использования SQL Links; в дальнейшем никаких улучшений для SQL Links не будет делаться и также SQL Links не будут включаться в состав Delphi после 2002. Borland рекомендует использовать dbExpress для доступа SQL серверам баз данных.
4.1. DataSnapDelphi 7 Studio только в Enterprise редакции:
В DataSnap приложениях, использование IAppServer было изменено на IAppServerSOAP, который обходит некоторые проблемы в IAppServer интерфейсе. Свойство UseSOAPAdapter TSoapConnection можно использовать для написания клиентов для серверов написанных на старых версиях Delphi. TSoapConnection также публикует несколько новых событий для управления вашими клиентскими приложениями в разных точках выполнения процесса запроса Web сервиса. Теперь вы можете указывать конкретный SOAP модуль данных в сервере приложений, который имеет несколько модулей данных. Используйте свойство SOAPServerIID или добавьте интерфейс модуля в конце URL. Теперь вы можете использовать компонент SOAP connection для вызова расширения интерфейса сервера приложений. Используйте свойство SOAPServerIID и метод GetSOAPServer. DataSnap более не поддерживает CORBA соединения.
5. Библиотека компонент
5.1. Поддержка тем Windows XPВ Delphi Studio 7 Enterprise и Professional, приложения Borland VCL теперь включают компоненты, которые разрешают поддержку Windows® общих органов версии 6. Ваше приложение автоматически использует новые органы Windows на системе Windows XP, если найдет подходящий манифест файл. Более подробно об этом в руководстве Developer's Guide тема "Common controls and XP themes" или в справочной системе.
5.2. Новый модуль
Новый модуль DBClientActns содержит три новых компоненты для работы с клиентскими наборами данных: TClientDataSetApply, TclientDataSetUndo и TClientDataSetRevert.
5.3. Новые компоненты
Закладка dbExpress на палитре компонент включает TSimpleDataSet для использования с простыми, двух уровневыми приложениями баз данных (TSimpleDataSet заменяет TSQLClientDataSet). Закладка Dialogs на палитре компонент включает TPageSetupDialog для доступа к стандартному диалогу Windows page setup. Закладка Additional на палитре компонент включает TXPColorMap, TstandardColorMap и TTwilightColorMap для управления цветом меню и тулбаров. Новая CLX версия закладки System на палитре компонент включает новые компоненты для работы с файлами и папками. Новые закладки Indy Intercepts и Indy I/O Handlers на палитре компонент включают доступ до Internet протоколов, только в Professional и Enterprise.
5.4. Измененные компоненты CLX версия TOpenDialog и TSaveDialog была расширена для поддержки дополнительных свойств, таких как препросмотр файла. VCL версия TCustomForm имеет два новых свойства, ScreenSnap и SnapBuffer, которые управляют поведением формы при перемещении и достижению края экрана. TCustomComboBoxEx имеет новое свойство AutoCompleteOptions, которое разрешает комбо боксу реагировать на ввод символов пользователем. CLX диалоги, которые исходят от TOpenDialog и TqtDialog, могут теперь использовать общие диалоги Windows вместо Qt диалогов. Данное поведение управляется свойством UseNativeDialog, по умолчанию установлено в true.
5.5. Брошенные компонентыИнформацию об устаревших, заброшенных компонентах можно найти в readme.txt файле из папки Delphi 7 Studio.
6. Runtime библиотека
6.1. Модуль Classes Добавлен новый класс исключения EFileStreamError. EFileStreamError и EFOpenError порождаются от этого класса. Этот новый класс может иметь параметр FileName. В результате, текст сообщения исключения теперь содержит имя файла, в котором произошла ошибка. Класс TStrings имеет два новых свойство, ValueFromIndex и NameValueSeparator. Методы TThread.CheckThreadError были перемещены из private части в protected.
6.2. Модуль Math
В модуле Math появился новый параметр, по умолчанию, RaisePending, в процедуре ClearExceptions.
6.3. Модуль StdConvsМодуль StdConvs теперь включает Стоун в поддержанных мерах веса.
6.4. Модуль StrUtils
Для поддержки multibyte character set (MBCS) в модуль StrUtils внесены следующие изменения:
Ранее, функции LeftStr, RightStr и MidStr каждая имели тип параметра AnsiString и тип возврата и не поддерживали MBCS строки. Каждая из этих функций теперь заменена парой перегруженных функций, одна возвращает AnsiString, а другая принимает и возвращает WideString. Новые функции корректно обрабатывают MBCS строки. Эти изменения делает непригодным код, использовавший эти функции для записи и извлечения байтовых значений в AnsiStrings. Такой код должен быть пересмотрен для использования с помощью новых байт ориентированных функций, описанных ниже. Новые функции LeftBStr, RightBStr и MidBStr предоставляют доступ для манипуляций на байтовом уровне, ранее предоставляемый функциями LeftStr, RightStr и MidStr. Новые функции AnsiLeftStr, AnsiRightStr и AnsiMidStr аналогичны новым AnsiStr LeftStr, RightStr и MidStr функциям, за исключением, что они не перегружены эквивалентными WideString функциями. Модуль StrUtils имеет новую функцию для поиска, название PosEx.
6.5. Модуль SysUtils
Модуль SysUtils теперь включает thread-safe перегруженные процедуры для форматирования и разбора (парсинга) чисел, дат и денежных форматов. Новые процедуры thread-safe, поскольку они получают информацию о локализации не их глобальных переменных, а из структуры TFormatSettings. Данная структура данных должна быть заполнена перед использованием; новая функция GetLocaleFormatSettings, должна использоваться для заполнения структуры из конкретной локали.
6.6. Модуль VarCmplx
Модуль VarCmplx имеет новые функции: VarComplexLog2, VarComplexLog10, VarComplexLogN, VarComplexTimesImaginary и VarComplexTimesReal.
6.7. Модуль Variants Добавлены новые функции VarIsError и VarAsError. Исключение EVariantError теперь стало базовым классом для порождения классов исключений, из кода работы с вариантами. Добавлено несколько глобальных управляющих переменных: NullEqualityRule, NullMagnitudeRule, NullStrictConvert, NullAsStringValue и PackVarCreation.
7. Компилятор
Компилятор Delphi теперь поддерживает три новых предупреждения: Unsafe_Type, Unsafe_Code и Unsafe_Cast. Данные предупреждения запрещены по умолчанию, но могут быть разрешены с помощью следующих директив {$WARN UNSAFE_CODE ON}, с помощью ключей командной строки компилятора dcc32 -W+UNSAFE_CODE и в среде, Project|Options|Compiler Messages. Данное свойство предназначено для помощи в переносе вашего кода на платформу .NET. В обслуживаемой среде выполнения, "unsafe" означает, что операция не может быть проверена во время статического анализа, выполняемого компилятором Just In Time (JIT). Такой код может серьезным риском в безопасности, поскольку здесь недостаточно информации для компилятора JIT для проверки его runtime поведения. Примером опасного кода, являются операции с указателями и перезапись памяти.
8. Поддержка Rave Reports
Delphi 7 Studio Enterprise и Professional редакции:Среда Delphi теперь включает Rave Reports от Nevrona. Добавив Rave Reports компоненты в ваше приложение, вы позволяете вашим пользователям делать отчеты в вашем приложении. Для более подробной информации смотрите главу "Creating reports with Rave Reports" в Developer's Guide или справочной системе.
9. Поддержка ModelMakerDelphi 7 Studio Enterprise и Professional редакции:Инструмент ModelMaker позволяет упростить разработку, конструкцию и обслуживание классов и интерфейсов. ModelMaker также включает инструмент для создания UML диаграмм, которые могут использоваться для создания и модификации исходного кода ваших проектов. Для более подробной информации смотрите главу "Designing classes and components with ModelMaker" в Developer's Guide или справочной системе. Delphi 7 Studio Enterprise включает ModelMaker от ModelMaker software. Delphi 7 Studio Professional включает 30-дневную триал версию Model Maker. Функциональность ModelMaker идентична в обеих редакциях Delphi.
10. Документация
Все файлы документации (PDF, HTML, and INT) теперь размещены в папке Online+PDF Docs на диске Delphi Companion Tools CD вместо инсталляционного CD. Вы можете иметь доступ или напрямую с CD или скопировать в любую папку по вашему выбору. В связи с ограничения для печатной версии Developer's Guide, Глава 5 "Creating custom components," была изъята из книги для создания нового руководства "Component Writer's Guide". Новая книга доступна в online Help и как PDF файл на Delphi Companion Tools CD. Язык Object Pascal теперь называется Delphi language. Online Help и документация были изменены одновременно. Книга Object Pascal Language Guide теперь называется Delphi Language Guide. Для обеспечения точности Delphi руководств, они были изъяты из Quick Start и Developer's Guide. Руководства доступны, как PDF файлы на Delphi Companion Tools CD. Некоторые из тем в Delphi online help включают C++ синтаксис и примеры для Borland Kylix и C++Builder пользователей. Для Delphi разработки, пожалуйста, игнорируйте эти примеры.
11. Переход к новой версии и вопросы совместимости
Для вопросов перехода к новой версии и вопросов совместимости, смотрите readme.txt файл в папке с инсталляцией Delphi 7. Для перехода к новой версии Delphi (ранее Object Pascal) языка возьмите проекты из предыдущей версии Delphi и откройте их в новой версии. Проект автоматически преобразуется в новую версию. Подробности в Fault сообщениях теперь добавлены в узел вместо записей узла. Это сделано в соответствии со спецификацией SOAP faults, но принесет некоторые проблемы с обратной совместимостью со старым кодом. Изменения в модуле StrUtils функций LeftStr, RightStr и MidStr могут потребовать переработать старый код, который использовал эти функции. Смотрите "Runtime библиотека" для подробностей. Для Apache 2, переменная "ContentType" была сменена на "handler" в модуле ApacheApp. DataSnap больше не поддерживает CORBA соединения.
Copyright© 2002 Borland Software Corporation, перевод Анатолия Подгорецкого
www.realcoding.net
Delphi (среда разработки) — Википедия
Материал из Википедии — свободной энциклопедии
Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 21 декабря 2013; проверки требуют 110 правок. Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 21 декабря 2013; проверки требуют 110 правок. Перейти к навигации Перейти к поиску У этого термина существуют и другие значения, см. Delphi.Внешний вид Delphi XE2 | |
ru.wikipedia.org