ふとした疑問です。
procedure TForm1.Button1Click(Sender: TObject);
begin
if fsBold in Label1.Font.Style then
begin
Label1.Font.Style := Label1.Font.Style - [fsBold];
// Include(Label1.Font.Style, fsBold);
end else
begin
Label1.Font.Style := Label1.Font.Style + [fsBold];
end;
end;
なぜか、コメントアウトしている行をコンパイルしようとすると
[DCC エラー] …: E2064 代入できない左辺値です
というエラーになってしまいます。
今更ですが、Includeはどうして集合型プロパティに対して
実行できないのでしょうか?
集合型変数には使えるけど
集合型プロパティには使えない
IncludeやExclude指令は存在意味があるんでしょうか?
第1引数が参照渡しだからかなぁ…
THoge = class
private
function Get: Integer;
procedure Put(Value: Integer);
public
property Foo: Integer read Get write Put;
end;
プロパティはこんな感じだったりするので参照渡しができないんじゃないかと?
Inc(Form1.Width) なんてのも怒られますからね。
まぁ、存在意味があるかどうかは別として…
Include, Exclude は自分ではよく使う。
ああ、そうか。
なるほど。そういえばそうですね。
私もIncludeは結構好きなのですが
同じ集合型として同じ記述方法ができたらいいなと
思ったのですが、難しそうですね。
ありがとうございます。
ツイート | ![]() |