Сомневаюсь в использовании TRecord.
Могу ли я использовать VAR в свойстве записи?
Например:
Моя запись:
TStyleEvalue = record
ID: Integer;
Value: TFontStyles;
Name: String;
end;
Когда я пытаюсь указать VAR в свойстве Name
, как показано ниже:
StylesEvalueArray : array[0..15] of TStyleEvalue = (
(ID: 00; Value: []; Name: LB_NORMAL),
(ID: 01; Value: [fsBold]; Name: LB_NEGRITO),
(ID: 02; Value: [fsItalic]; Name: LB_ITALICO),
(ID: 03; Value: [fsBold,fsItalic]; Name: LB_NEGRITO+', '+LB_ITALICO),
(ID: 04; Value: [fsUnderline]; Name: LB_SUBLINHADO),
(ID: 05; Value: [fsBold,fsUnderline]; Name: LB_NEGRITO+', '+LB_SUBLINHADO),
(ID: 06; Value: [fsItalic,fsUnderline]; Name: LB_ITALICO+', '+LB_SUBLINHADO),
(ID: 07; Value: [fsBold,fsItalic,fsUnderline]; Name: LB_NEGRITO+', '+LB_ITALICO+', '+LB_SUBLINHADO),
(ID: 08; Value: [fsStrikeOut]; Name: LB_TACHADO),
(ID: 09; Value: [fsBold,fsStrikeOut]; Name: LB_NEGRITO+', '+LB_TACHADO),
(ID: 10; Value: [fsItalic,fsStrikeOut]; Name: LB_ITALICO+', '+LB_TACHADO),
(ID: 11; Value: [fsBold,fsItalic,fsStrikeOut]; Name: LB_NEGRITO+', '+LB_ITALICO+', '+LB_TACHADO),
(ID: 12; Value: [fsUnderline,fsStrikeOut]; Name: LB_SUBLINHADO+', '+LB_TACHADO),
(ID: 13; Value: [fsBold,fsUnderline,fsStrikeOut]; Name: LB_NEGRITO+', '+LB_SUBLINHADO+', '+LB_TACHADO),
(ID: 14; Value: [fsItalic,fsUnderline,fsStrikeOut]; Name: LB_ITALICO+', '+LB_SUBLINHADO+', '+LB_TACHADO),
(ID: 15; Value: [fsBold,fsItalic,fsUnderline,fsStrikeOut]; Name: LB_NEGRITO+', '+LB_ITALICO+', '+LB_SUBLINHADO+', '+LB_TACHADO)
);
Я получаю это сообщение об ошибке:
[Ошибка] FormFontChange.pas (102): ожидается постоянное выражение
Эта ошибка возникает на всех строках этого массива.
Может кто-нибудь мне помочь?
Заранее спасибо.
LB_NORMAL
- переменная, вы можете ее забыть. Имеет смысл, поскольку переменные обычно не остаются постоянными. <грамм> - person Rudy Velthuis   schedule 14.03.2016