Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.25;
Скачать: CL | DM;

Вниз

Как объявить константу в классе, чтобы использ при объяв массива?   Найти похожие ветки 

 
Galin   (2004-02-13 14:04) [0]

Нужно примерно следующее

type TForm1 = class(TForm)
private {Private declarations}

const K : integer = 10;
Mass : array[1..K] of integer;

public {Public declarations}
end;

Однако компиллятор ругается и говорит, что где-то ошибка.
Подкскажите, пожалуйста, не обижайтесь за глупый вопрос.
Заранее благодарен Галин А.М.


 
Тимохов ©   (2004-02-13 14:06) [1]

сделай объявление константы до начала объявления tform1


 
Юрий Зотов ©   (2004-02-13 14:06) [2]

> Как объявить константу в классе

Никак. Но ее можно объявить ПЕРЕД классом.


 
Digitman ©   (2004-02-13 14:06) [3]


> Как объявить константу в классе


никак.
константа объявляется на уровне модуля в целом


 
Galin   (2004-02-13 14:12) [4]

Огромное спасибо за присланные ответы!!

Очень жаль, что нельзя объявить константу в классе.

Объявлять её выше класса пробовал - но компилятор
ругается при объявлении массива, в размере которого
используется эта константа
Т.Е.
const K : integer = 10; //Нет ошибки
А в строке(внутри класса)
Mass : array[1..K] of integer; //ошибка
Можно ли это обойти или придётся создавать динамич массив??


 
Владислав ©   (2004-02-13 14:16) [5]

const
K = 10;


 
Galin   (2004-02-13 14:18) [6]

Глубокоуважаемый Владислав!

Огромное Вам спасибо от всего нашего отдела.
Всё заработало!!


 
Palladin ©   (2004-02-13 14:19) [7]

когда ты объявляешь тип константы это уже не рассматривается компилятором как константа...

const
k=10;


 
Плохиш   (2004-02-13 14:19) [8]

>Galin (13.02.04 14:12) [4]

> Можно ли это обойти или придётся создавать динамич массив??

Только динамический массив, если я правильно понял твои желания. Это не бейсик ;-)


 
Palladin ©   (2004-02-13 14:26) [9]

тьфу... недописал

хоть она как константа и не рассматривается в обычном смысле, все же присвоение ей делать нельзя. причина скрывается в директиве $J по этому типизированные константы и нельзя использовать в определяениях других констант...


 
Digitman ©   (2004-02-13 14:28) [10]


> Galin


объявление нетипизированного идентификатора сродни макроподстановкам а-ля C/C++

а уж как OP-компилятлор будет расценивать тип, соответствующий идентификатору, - зависит от конкретного контекста ссылки на данный идентификатор

впрочем, логика ОР-компилятора здесь мало чем отличается от соотв.логики C/C++ - препроцессоров/компиляторов



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

Текущий архив: 2004.02.25;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.021 c
6-80073
BlackSun
2003-12-17 13:20
2004.02.25
Indy и TIdIOHandlerSocket


1-79713
Avsam
2004-02-12 16:48
2004.02.25
Application.ProcessMessage в службах


14-80228
tvm
2004-02-04 23:28
2004.02.25
я только учусь


6-80072
Term!
2003-12-22 09:50
2004.02.25
Как узнать IP подключенных к IIS компов?


14-80227
_none_
2004-02-04 11:09
2004.02.25
автаматизация управления проектами