Главная страница
    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.47 MB
Время: 0.036 c
2-1193307134
TTimer
2007-10-25 14:12
2007.11.18
Можно ли TTimer старт без секунд.


2-1193247805
Б. Гейтс
2007-10-24 21:43
2007.11.18
Массив - как организовать? (без array и на АПИ)


2-1192632556
DevilDevil
2007-10-17 18:49
2007.11.18
Окрасить фон меню и закладки


15-1192178627
Flash-device
2007-10-12 12:43
2007.11.18
"Снять" защиту от записи с Flash


2-1193504034
Steep
2007-10-27 20:53
2007.11.18
Поиск папок





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский