Вниз
Скачать: CL | DM;

Стиль: саморазрушение   Найти похожие ветки 

← →
Bis ©   (2002-11-04 16:49) [40]

может я упустил смысл темы, но есть замечательный метод
FreeAndNil
и вызывать можно вроде где угодно и не ругаться на Паскаль


← →
Igorek ©   (2002-11-04 17:03) [41]


> down (04.11.02 16:30)
> в опциях проекта поставить галочку напротив "Assignable
> typed constants"

Спасибо. Но тогда получаются константы не настоящие, если их можно "взломать" фишкой компилятора.


← →
evgeg ©   (2002-11-04 19:05) [42]

> Не нравиться мне Ваш преподавательский тон.

А мне не нравится, что вы утверждаете ерунду, не разобравшись в вопросе.

> Но тогда получаются константы не настоящие, если их можно "взломать" фишкой компилятора.

Получается, что типизированные константы являются статическими переменными. Нетипизированные константы являются настоящими константами.


← →
Igorek ©   (2002-11-05 11:00) [43]


> Получается, что типизированные константы являются статическими
> переменными. Нетипизированные константы являются настоящими
> константами.

Спасибо за разъяснение. Ошибаться может каждый - я был неправ. К счастью Паскаль не мой родной язык.


← →
Sectey ©   (2002-11-05 11:16) [44]

Совершенно согласин с evgeg.

вот пример

Const
i = 10;
Var
p : ^integer;
begin
p := @i;
-> здель компилятор ругается благим матом 37. riable required
p^ := 40;
end;


а тут все ок

Const
i : integer = 10;
Var
p : ^integer;
begin
p := @i;
p^ := 40;
end;

в результате i = 40

Такойже фокус проходит и с

TTr = class
private
FCount : integer;
...
public
property Count: integer read FCount;
...
end;

Var
tr : TTr;
p : ^integer;
begin
p := @tr.Count;
p^ := 40;
end;

в результате tr.Count = 40


← →
Бурундук   (2002-11-05 11:47) [45]

2Sectey © (05.11.02 11:16)
Зачем такие сложности?
Можно и так:

const
i: integer = 10;
begin
i := 40;
// типизированная константа - она совсем никакая
// не константа (без {$WRITEABLECONST OFF}или{$J-}),
// а самая что ни на есть переменная.
end;



Страницы: 1 2 вся ветка

Скачать: CL | DM;



Память: 0.52 MB
Время: 0.018 c
6-46045
Squ
2002-09-11 15:01
2002.11.14
Http get


3-45682
myor
2002-10-24 16:34
2002.11.14
win1251 (d6+ib6+win98/xp)


1-45886
Брат
2002-11-05 17:04
2002.11.14
Как остановить выполнение программы на определенный промежуток...


3-45753
Виталий Панасенко
2002-10-25 09:00
2002.11.14
Как установить в Run-time язык таблицы


3-45722
Alderman
2002-10-24 13:12
2002.11.14
Как объединить два запроса сделанных в разных TQuery?




   Наверх