Главная страница
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.038 c
4-80351
nejest
2003-12-17 18:00
2004.02.25
SetWindowText(GetActiveWindow(), тест ); почему-то не работет


1-79854
Курдль
2004-02-10 13:26
2004.02.25
Диаграмма Ганта. Компонент типа MS Project и т.п.


6-80070
Pont
2003-12-18 12:27
2004.02.25
POP3 через прокси


6-80074
__boolean
2003-12-17 10:44
2004.02.25
NetBios


7-80325
DelphiNew
2003-12-02 11:40
2004.02.25
Проблема приёма данных с СОМ порта