Страница 1 из 1
Указатели взрывают мозг
Добавлено: 20.01.2010 09:48:46
Climber
Начал активно изучать RTTI, читаю книгу Пачеко "Delphi 6".
Например, там приводится такой код:
Код: Выделить всё
var
PropList: PPropList;
s2: string;
...
s2:=PropList[i]^.PropType^.Name;
FPC с таким кодом работать отказывается - ругается на последнюю строку. Поиски методом научного тыка дали такой результат:
Такая строка не только компилируется, но и дает ожидаемый от нее результат.
Почему так? А главное, почему от Delphi отличается?
Re: Указатели взрывают мозг
Добавлено: 20.01.2010 10:57:15
Max Rusov
А режим совместимости с Delphi - включен?
Re: Указатели взрывают мозг
Добавлено: 20.01.2010 11:40:36
Astralis
Последний вариант и в Delphi работает и в borland pascal и в целом он более предпочтителен.
delphi language имеет некоторые послабления в работе с указателями, но не стоит ими злоупотреблять.
хотя использовать Edit1^.Text вместо Edit1.Text тоже наверное перебор
не удивлюсь если в delphi сработает
Re: Указатели взрывают мозг
Добавлено: 20.01.2010 14:57:14
Vadim
Astralis писал(а):не удивлюсь если в delphi сработает
s2:=PropList[i].PropType.Name;
Обязательно сработает...

Поэтому учить указатели по Дельфи - это взрыв мозга на макаронной фабрике. Люди постоянно путаются в статических и динамических переменных.

Re: Указатели взрывают мозг
Добавлено: 20.01.2010 19:04:12
and
Да-да-да! Я тоже карет в Delphi опускал везде, где только можно (на байтах экономил ;-) ), пока не понадобилось поработать с указателем на функцию (т.е. на процедурную переменную), возвращающую указатель :-) Легко запутаться в трёх соснах: где собственно указатель, а где то, на что он указывает.