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

Вниз

Case - Constant expression expected   Найти похожие ветки 

 
Ega23 ©   (2007-10-22 13:46) [0]

Туплю: что не так?



const
 lsUnknown     : Integer = 10;
 lsAlarm       : Integer = 20;
 lsReady       : Integer = 30;
 lsBroken      : Integer = 40;
 lsSwitchOFF   : Integer = 50;
 lsGuardON     : Integer = 60;
 lsLocked      : Integer = 70;
 lsCaptured    : Integer = 80;

...............

   Case TLogObjChildItem(ChildList.Items[i]).LogStatCod of
     lsUnknown   : Result := Result + [psUnknown];
     lsAlarm     : Result := Result + [psAlarm];
     lsReady     : Result := Result + [psReady];
     lsBroken    : Result := Result + [psBroken];
     lsSwitchOFF : Result := Result + [psSwitchOFF];
     lsGuardON   : Result := Result + [psGuardON];
     lsLocked    : Result := Result + [psLocked];
     lsCaptured  : Result := Result + [psCaptured];
   end;


 
Jump   (2007-10-22 13:50) [1]

lsUnknown     : Integer = 10;
lsAlarm       : Integer = 20;
lsReady       : Integer = 30;
lsBroken      : Integer = 40;
lsSwitchOFF   : Integer = 50;
lsGuardON     : Integer = 60;
lsLocked      : Integer = 70;
lsCaptured    : Integer = 80;


Integer убери

lsUnknown  = 10;
lsAlarm = 20;
lsReady = 30;
lsBroken = 40;
lsSwitchOFF = 50;
lsGuardON = 60;
lsLocked  = 70;
lsCaptured  = 80;


Или в настройках компилятора попробуй отключить assignable typed constants.


 
Reindeer Moss Eater ©   (2007-10-22 13:51) [2]

const
lsUnknown     = 10;
...
lsCaptured     = 80;


 
Ega23 ©   (2007-10-22 13:51) [3]

разве в Case типизированные константы не "хаваются"?


 
Jump   (2007-10-22 13:52) [4]

Типизированные "хаваются"... а вот "assignable" - как-то не очень...


 
Ega23 ©   (2007-10-22 13:54) [5]


> Типизированные "хаваются"... а вот "assignable" - как-то
> не очень...


Не понял, а в чём разница?


 
clickmaker ©   (2007-10-22 14:00) [6]


> чём разница?

ну как же? assignable можно поменять значение, а в case допустимы только "чистые" константы


 
Ega23 ©   (2007-10-22 14:02) [7]


> ну как же? assignable можно поменять значение, а в case
> допустимы только "чистые" константы


Нет, в чём разница между assignable typed constant и typed constant?


 
Reindeer Moss Eater ©   (2007-10-22 14:03) [8]

Значения на рантайме могут меняться


 
Ega23 ©   (2007-10-22 14:10) [9]

Хорошо.
Я почему константы типизировать начал - при переходе с D5 на D7 выяснилось, что при объявлении

const  
 MyFirstVal = 6;
 MySecondVal : Integer =6;

function Foo(Value : Variant) : Integer;
begin
 Case VarType(Value) of
  varByte : Result := 1;
  varInteger : Result := 2;
end;


результатом выполнения Foo(MyFirstVal) будет 1, а Foo(MySecondVal) даст 2.


 
Ega23 ©   (2007-10-22 14:11) [10]

А для кода данное дело было достаточно критично.


 
Джо ©   (2007-10-22 14:14) [11]

> [9] Ega23 ©   (22.10.07 14:10)
> результатом выполнения Foo(MyFirstVal) будет 1, а Foo(MySecondVal)
> даст 2.

Дык, а кто мешает сделать Фу таким:
function Foo(Value : Variant) : Integer;
begin
Case VarType(Value) of
 varByte,
 varInteger : Result := 1;
end;
?


 
Ega23 ©   (2007-10-22 14:16) [12]


> Джо ©   (22.10.07 14:14) [11]


Да млжно, уже переделано было. просто начал специально их типизровать, на всякий пожарный. А тут вот такое...


 
Leonid Troyanovsky ©   (2007-10-22 14:24) [13]


> Ega23 ©   (22.10.07 13:46)  

> Туплю: что не так?

Case TLogObjChildItem(ChildList.Items[i]).LogStatCod div 10 - 1 of
 ord(psUnknown): ..

Ну, или константы определить, как lsUnknown = 10*(Ord(psUnknown)+1)

--
Regards, LVT.



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

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

Наверх




Память: 0.49 MB
Время: 0.022 c
15-1192589056
Riply
2007-10-17 06:44
2007.11.18
У нас самое лучшее "Прочее" :)


3-1183804321
Senya-mariupol
2007-07-07 14:32
2007.11.18
Delphi и БД Microsoft Access


11-1177086234
vampir_infernal
2007-04-20 20:23
2007.11.18
GRush + D2005


2-1193037944
Vladimir Gradov
2007-10-22 11:25
2007.11.18
Стрелки скроллинга в панели инструментов, это какой компонент ?


2-1192649516
timekiller
2007-10-17 23:31
2007.11.18
XML! Намекните!