Различие в работе FPC от ObjectPascal

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Различие в работе FPC от ObjectPascal

Сообщение arni » 19.10.2009 17:17:04

Код: Выделить всё
var
   a: array of Char;
begin
  SetLength(a, 8);
  if a[0]='' then
     ShowMessage('equal')
  else
     ShowMessage('not equal');
end;

FPC выдает "not equal"
Borland выдает "equal"

Можете пояснить?

p.s. Lazarus 0.9.28, Delphi 7
arni
незнакомец
 
Сообщения: 4
Зарегистрирован: 19.10.2009 17:10:51

Re: Различие в работе FPC от ObjectPascal

Сообщение Mr.Smart » 19.10.2009 17:24:51

arni
Это не различия. Вы выделяете память динамически и компилятор не инициализирует её!
И для того, чтобы говорить о несоответствии необходимо избавится от "мусора" - инициализировать выделенную память!
хотя бы так:
Код: Выделить всё
FillChar(a,8,#0)
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

Re: Различие в работе FPC от ObjectPascal

Сообщение arni » 19.10.2009 17:29:27

Добавил
a[0]:=#0;
после инициализации массива.
Поведение не поменялось. Видимо что-то другое.
arni
незнакомец
 
Сообщения: 4
Зарегистрирован: 19.10.2009 17:10:51

Re: Различие в работе FPC от ObjectPascal

Сообщение Mr.Smart » 19.10.2009 17:31:53

А как вы интерпретируете запись вида ''? И какой ответ вы ожидаете при этой проверке a[0]=''?
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

Re: Различие в работе FPC от ObjectPascal

Сообщение arni » 19.10.2009 17:55:13

я далек от интерпретаций :)
просто хочу понять, почему для дельфы #0='', а для лазаря #0<>''
arni
незнакомец
 
Сообщения: 4
Зарегистрирован: 19.10.2009 17:10:51

Re: Различие в работе FPC от ObjectPascal

Сообщение FedeX » 19.10.2009 18:18:40

почему для дельфы #0='', а для лазаря #0<>''

это не так. #0='' в Дельфе возвращает "not equal". Так что это наверно какой-то баг Дельфийского компилятора :roll: Ведь по логике символ #0 не должен быть равен пустой строке..
Аватара пользователя
FedeX
постоялец
 
Сообщения: 422
Зарегистрирован: 27.03.2006 09:25:34
Откуда: украина, житомир

Re: Различие в работе FPC от ObjectPascal

Сообщение arni » 19.10.2009 20:00:43

Обсуждение в дельфовийской ветке.
http://www.sql.ru/forum/actualthread.aspx?tid=704901
arni
незнакомец
 
Сообщения: 4
Зарегистрирован: 19.10.2009 17:10:51


Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11

Рейтинг@Mail.ru