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

Вопрос по синтаксису   Найти похожие ветки 

← →
Демонов Е.В. ©   (2003-04-08 16:04) [0]

Редко возникала у меня нвдобность в использовании констант- но вот возникла и .....

Код

type
TParam=record
ParamName:Char;
Value:String;
end;

TParamArray=Array [1..3] of TParam;

Const

Params:TParamArray=((ParamName:"p";Value:""),(ParamName:"m";Value:"*.*"),(ParamName:"f";Value:"-"));

Все работает, но вот если
TParamArray=Array of TParam;
То компилятор ругается . как ?????????


← →
Skier ©   (2003-04-08 16:08) [1]

>Демонов Е.В.

> как ?????????

Никак ! Энто будет динамический массив.
Можешь его проинциализировать в цикле...
for ii := Low(ParamArray) to High(ParamArray) do bla-bla-bla...


← →
MityaP ©   (2003-04-08 16:17) [2]

Для динамического массиво нельзя задать константу...
Если надо, что бы при запуске проги, динамический массив содержал нужное, объяви переменную Params и добавь секцию Initialization в конце модуля (перед end.), например так:

unit MyParams;

interface
type
TParamArray = Array of TParam;
var
Params: TParamArray;

implementation

procedure AddParametr(AParamName, AValue: string);
begin
SetLength(Params, Length(Params) + 1);
Params[Length(Params) - 1].ParamName := AParamName;
Params[Length(Params) - 1].Value := AValue;
end;

initialization
SetLength(Params, 0);
AddParametr("p", "");
AddParametr("m", "*.*");
AddParametr("f", "-");
//Секция initialization выполняется при первом обращении
// к модулю... То есть во время создания Application
end.


← →
Palladin ©   (2003-04-08 16:27) [3]

динамический массив в const это нонсес....



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

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



Память: 0.45 MB
Время: 0.012 c
1-54640
Vick
2003-03-31 16:06
2003.04.17
Округление


3-54473
Друмлин
2003-03-28 21:41
2003.04.17
что использовать?


1-54648
pok
2003-04-08 13:42
2003.04.17
Как получеть доступ к свойствам компонентов дочерной MDI формы


6-54772
Stanislav SM
2003-02-23 00:14
2003.04.17
Передача сообщений по локальной сети


1-54737
spogi
2003-04-04 00:41
2003.04.17
конкретный символ в TMemo ...




   Наверх