Difference between revisions of "User Changes 2.6.4/ru"

From Free Pascal wiki
Jump to navigationJump to search
 
(7 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 +
{{User Changes 2.6.4}}
 +
 
== О чём эта статья ==
 
== О чём эта статья ==
  
Line 19: Line 21:
 
* '''Лекарство''': Не требуется.
 
* '''Лекарство''': Не требуется.
  
==== FPCanvas - свойство Strikethough исправлено написание - StrikeThrough ====
+
==== FPCanvas - свойство Strikethough, исправлено написание - StrikeThrough ====
* '''Было''': Fonts had a Striketrough property which is a typo.
+
* '''Было''': В названии свойства Striketrough была допущена опечатка.
* '''Стало''': The property has been changed to Strikethrough.
+
* '''Стало''': Название свойства исправлено на Strikethrough.
 
* '''Причина''': Исправление синтаксической ошибки.
 
* '''Причина''': Исправление синтаксической ошибки.
 
* '''Лекарство''': Пожалуйста, переименуйте вызов свойства в своём коде. FPC 2.6.2 содержало обе версии.
 
* '''Лекарство''': Пожалуйста, переименуйте вызов свойства в своём коде. FPC 2.6.2 содержало обе версии.
  
==== Ссылка shlobj удалена из модуля Windows ====
+
==== Ссылка shlobj подготовлена к удалению из модуля Windows ====
 
* '''Было''': Когда содержимое модуля windows было разделено между модулями windows и shlobj, не все ссылки на shlobj были удалены из windows.  
 
* '''Было''': Когда содержимое модуля windows было разделено между модулями windows и shlobj, не все ссылки на shlobj были удалены из windows.  
 
* '''Стало''':  
 
* '''Стало''':  
** Сейчас: the symbols are marked deprecated in the windows unit.
+
** Сейчас: Ссылки помечены как "Устаревшие" в модуле windows.
** Next major version: shlobj symbols will be removed from the windows unit. Code relying on that will fail to compile if it doesn't import shlobj.
+
** Следующая важная версия: Ссылки shlobj будут удалены из модуля windows. Код не будет компилироваться, если не добавить в строку uses shlobj.
 
* '''Причина''': shlobj и некоторые версии windows несовместимы, что вело к ошибкам.  
 
* '''Причина''': shlobj и некоторые версии windows несовместимы, что вело к ошибкам.  
 
* '''Лекарство''': Добавьте shlobj себе в строку uses, если её там раньше не было.
 
* '''Лекарство''': Добавьте shlobj себе в строку uses, если её там раньше не было.
Line 45: Line 47:
 
* '''Лекарство''': Только переделать на версию с тремя параметрами.
 
* '''Лекарство''': Только переделать на версию с тремя параметрами.
  
[[Category:FPC]]
+
 
 +
{{AutoCategory}}
 +
[[Category:FPC/ru]]
 +
[[Category:Release Notes]]
 
[[Category:FPC User Changes by release]]
 
[[Category:FPC User Changes by release]]
[[Category:Release Notes]]
+
[[Category:Russian (unfinished translation)]]

Latest revision as of 19:48, 16 July 2015

English (en) | русский (ru)

О чём эта статья

Здесь представлены изменения, которые внесены в компилятор FPC версии 2.6.4 после предыдущего релиза, которые могут вызвать в некоторых случаях невозможность работы кода программы. Список включает в себя причины, по которым эти изменения были внесены и предложения о том, как вы можете доработать свой код если обнаружите, что ранее работавщий код вдруг оказался нерабочим вследствие этих изменений.

Все системы

Изменения в модулях

DB

TODBCConnection (odbcconn) - Больше нет автоматического подтверждения каждого изменения данных
  • Было: Autocommit был включён: Каждое изменение записывалось в базу данных сразу.
  • Стало: Изменения должны быть подтверждены явно с помощью Transaction.Commit.
  • Причина: Транзакции становятся бесполезными, если всё подтверждается автоматом по частям: в этом случае откат полностью не представляется возможным.
  • Лекарство: Вы можете включить autocommit записав AUTOCOMMIT=1 в параметры TODBCConnection.
TDBF - Из модуля удалено предупреждение "Устаревшее" (deprecation)
  • Было: Модули TDBF были помечены как устаревшие из-за того, что разработчик, ведущий эти модули, прекратил их обслуживать. Однако модуль остался в fcl-db и патчи к нему принимались.
  • Стало: Предупреждение "устарело" удалено. Был найден новый разработчик, который поддерживает этот модуль.
  • Лекарство: Не требуется.

FPCanvas - свойство Strikethough, исправлено написание - StrikeThrough

  • Было: В названии свойства Striketrough была допущена опечатка.
  • Стало: Название свойства исправлено на Strikethrough.
  • Причина: Исправление синтаксической ошибки.
  • Лекарство: Пожалуйста, переименуйте вызов свойства в своём коде. FPC 2.6.2 содержало обе версии.

Ссылка shlobj подготовлена к удалению из модуля Windows

  • Было: Когда содержимое модуля windows было разделено между модулями windows и shlobj, не все ссылки на shlobj были удалены из windows.
  • Стало:
    • Сейчас: Ссылки помечены как "Устаревшие" в модуле windows.
    • Следующая важная версия: Ссылки shlobj будут удалены из модуля windows. Код не будет компилироваться, если не добавить в строку uses shlobj.
  • Причина: shlobj и некоторые версии windows несовместимы, что вело к ошибкам.
  • Лекарство: Добавьте shlobj себе в строку uses, если её там раньше не было.

В StrUtils исправлена реализация RomanToInt

  • Было: При неправильном введении значения, RomanToInt возвращал 0.
  • Стало: Неправильное введение значения в RomanToInt теперь вызывает исключение EConvert.
  • Причина: Представление о "неправильном вводе" было весьма условно: только неправильные символы составляли ошибку. Правильные символы в неправильном месте могли вызвать неправильное конвертирование. Сейчас используется три реализации: TryRomanToInt, RomanToIntDef и RomanToInt
  • Лекарство: Используйте RomanToIntDef. Значение по умолчанию используется в случае ошибки и объявлено как 0, что делает подпись и поведение, эквивалентное старой функции.

Метод Classes.TStringList.InsertItem теперь представлен как виртуальный с двойной реализацией, но код реализации теперь только один

  • Было: Эти два метода InsertItem (виртуальные) имели свои собственные реализации каждый. Этот двойной виртуальный метод, вероятно древняя форма параметра по умолчанию путем перегрузки. Если вы хотели переопределить InsertItem, нужно было переопределять оба.
  • Стало: InsertItem (Индекс, String) теперь вызывает InsertItem (Индекс, String, ноль). Это означает, что пользователи могут и должны переопределить только версию с тремя параметрами. В случае, если переопределять оба метода, это может привести к дублированию кода.
  • Причина: Чтобы не плодить одинаковых кодов и избежать ошибок в переопределении.
  • Лекарство: Только переделать на версию с тремя параметрами.