record型の初期化をしたいのですが、
下記のようにするとうまくいきません。
Bag.Valueに0を代入したいのですが、
BagResetを通っても、Bag.Value=123のままのようです。
クラス化するとうまくいくのですが、
下記ではどこがいけないのでしょうか?
type
TBag = record
Value: integer;
end;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private 宣言 }
Bag: Tbag;
procedure BagReset(B: TBag);
public
{ Public 宣言 }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.BagReset(B: TBag);
begin
B.Value := 0;
caption := inttostr(Bag.Value);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Bag.Value := 123;
BagReset(Bag);
end;
すみません、環境は、WinXP Delphi6 Personalです。
procedure BagReset(B: TBag);
これを
procedure BagReset(var B: TBag);
にすればOKです。
Questさん
できました。
ありがとうございました。
勉強になりました。
また機会があればご指導願えたらと思います。
ツイート | ![]() |