![1041patchtool | Embarcadero RAD Studio Delphi C++Builder Blogs](https://i0.wp.com/blogs.embarcadero.com/wp-content/uploads/2020/10/10.4.1-patchtool.png?resize=1024%2C556&ssl=1)
Мы только что выпустили патч для C ++ Builder 10.4.1, который влияет на использование компонентов, написанных на C ++, в конструкторе форм. Этот патч устраняет следующую проблему:
- Обработчики событий не всегда создавались в среде IDE с совместимой сигнатурой метода для типа обработчика событий (RSP-29734)
- При использовании компонента, скомпилированного с помощью классического компилятора в конструкторе форм IDE, создание обработчика событий внутри IDE (например, путем двойного щелчка по записи обработчика событий в инспекторе объектов) часто создает метод с сигнатурой, несовместимой с событием, вызывает ошибку «Свойство и метод несовместимы». Это исправлено в этом исправлении.
После установки этого исправления необходимо перестроить пакеты компонентов C ++ (во время разработки и выполнения) или получить обновленную версию у поставщика компонентов.
Установка патча
Патч может быть автоматически установлен IDE. Когда вы откроете RAD Studio или C ++ Builder, вы увидите на экране приветствия примечание о наличии обновления. При нажатии откроется GetIt. Вы также можете открыть GetIt через меню «Инструменты»> «Диспетчер пакетов GetIt» и найти категорию «Патчи и исправления».
![1041patchavailable | Embarcadero RAD Studio Delphi C++Builder Blogs](https://i0.wp.com/blogs.embarcadero.com/wp-content/uploads/2020/10/10.4.1-patch-available.png?resize=368%2C126&ssl=1)
Щелкните исправление, чтобы выбрать его, и нажмите кнопку «Установить». (Если вы его не видите, убедитесь, что вы используете GetIt в онлайн-режиме, с информацией о настройках здесь.)
![1041patchinstall | Embarcadero RAD Studio Delphi C++Builder Blogs](https://i0.wp.com/blogs.embarcadero.com/wp-content/uploads/2020/10/10.4.1-patch-install.png?resize=750%2C145&ssl=1)
Поскольку этот патч перезаписывает файлы, загруженные IDE, он закроет IDE перед установкой. Это первый раз, когда мы выпустили исправление, устанавливаемое IDE, которое изменяет файлы, используемые самой IDE, и является частью нашего капитального ремонта распространения исправлений, начатого в 10.4. Это отличная технология!
IDE закроется, и вы увидите, как открываются некоторые окна командной строки. Следите за мигающим запросом повышения разрешений на панели задач, так как установщику требуются повышенные разрешения для установки файлов в папку Program Files.
![1041patchtool | Embarcadero RAD Studio Delphi C++Builder Blogs](https://i0.wp.com/blogs.embarcadero.com/wp-content/uploads/2020/10/10.4.1-patchtool.png?resize=750%2C407&ssl=1)
Подождите несколько секунд, и вы увидите, что наш инструмент исправлений работает, а затем перезапускается среда IDE. Выполнено!
Если вы не хотите, чтобы среда IDE устанавливала исправление, вы также можете загрузить его на портале my.embarcadero.com и установить вручную. Но мы рекомендуем устанавливать из среды IDE; это намного проще, и после установки IDE будет знать, что она установлена, и больше не будет запрашивать вас.
Обратите внимание на компоненты и обработчики событий, созданные в Clang.
Примечание. Компоненты, созданные с использованием компилятора на основе Clang, также имеют проблемы с созданием обработчиков событий; в настоящее время мы рекомендуем, чтобы любой компонент C ++, предназначенный для использования во время разработки, был построен с использованием классического компилятора. Это пакеты как среды разработки, так и среды выполнения. Любой компонент, не предназначенный для использования в конструкторе форм, может быть построен с помощью компилятора Clang.
Мы планируем решить эту проблему — Clang должен стать полноценной заменой Classic во всех отношениях. (Например, 10.4 представил новый отладчик, гарантирующий, что он лучше, чем классический.)
Design. Code. Compile. Deploy.
Start Free Trial Upgrade Today
Free Delphi Community Edition Free C++Builder Community Edition