Главная страница
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.106 c
1-79700
VID
2004-02-12 00:17
2004.02.25
Какая разница между IE и TEmbeddedWB ?


1-79825
ShiFT
2004-02-11 10:03
2004.02.25
как выдрать, изменить и cохранить ресурсы из чужих Exe и Dll?


14-80098
Maxim Vetera
2004-02-03 12:11
2004.02.25
Дианетика!!!


1-79801
AleksandrKu
2004-02-11 15:27
2004.02.25
Работа с Excel-ом


1-79934
SMT
2004-02-09 16:37
2004.02.25
TeeChart компонент