О релизах и багах
Модератор: Модераторы
-
SovNarKom
- постоялец
- Сообщения: 389
- Зарегистрирован: 28.05.2005 10:37:39
- Откуда: Воронеж [vrn] [36]
- Контактная информация:
Странный баг abs-а
FPC 2.0.2, 2.0.3
Причём такой вариант работает нормально
FPC 2.0.2, 2.0.3
Код: Выделить всё
var
minfactor: Integer;
begin
minfactor:=abs(30000-MillisecondOfTheMinute(now));
// minfactor = -15656 !!!
minfactor:=30000-MillisecondOfTheMinute(now);
minfactor:=abs(minfactor);
// minfactor = 15656 !!!
end;
Причём такой вариант работает нормально
Код: Выделить всё
var
minfactor: Integer;
begin
minfactor:=abs(30-SecondOfTheMinute(now));
// minfactor = 15
end;
Позвольте вынести на всеобшее рассмотрение следующий вопрос:
В RTL существует функция FPC_WSTR_ASSIGN призванная реализовыть присвоение для двух WideString'ов. Однако в действительности данная функция почему-то не используется компилятором. Эта ошибка (или, скорее, недочет?) не проявляется, если использовать "стандартную" реализацию для Widestring, но становится критичной, если что-то решили поменять.
(Для повышения совместимости со строками Delphi было бы категорически приятно, если бы комилятор все же вызывал ее.
(дело в том, что строки в Windows не имееют счетчика ссылок, что существенно меняет метод работы с ними)
От себя могу предложить готовый вариант файла wstrings.inc , который в полной мере обеспечивает требуемую функциональность)
В RTL существует функция FPC_WSTR_ASSIGN призванная реализовыть присвоение для двух WideString'ов. Однако в действительности данная функция почему-то не используется компилятором. Эта ошибка (или, скорее, недочет?) не проявляется, если использовать "стандартную" реализацию для Widestring, но становится критичной, если что-то решили поменять.
(Для повышения совместимости со строками Delphi было бы категорически приятно, если бы комилятор все же вызывал ее.
(дело в том, что строки в Windows не имееют счетчика ссылок, что существенно меняет метод работы с ними)
От себя могу предложить готовый вариант файла wstrings.inc , который в полной мере обеспечивает требуемую функциональность)
