ミ,,゚Д゚彡DelフサギコのフサフサDelphi談話室�A
■ このスレッドは過去ログ倉庫に格納されています
0264デフォルトの名無しさん
NGNGレコード型のポインタ同士のやりとりについてお聞きしたいのですが。
TListItem.Dataにレコード型を保存するため、以下のようにしました。
procedure CustomProc(CustomRecord: TCustomRecord);
var
P: PCustomRecord;
begin
New(P);
P := @CustomRecord;
ListView.Items[0].Data := P;
end;
これでやると、CustomProc内では確かにDataにPが代入されていて
CustomRecordと同じ値が参照できるのですが、
このあと別のプロシージャからDataを参照すると中身がからっぽなのです。
そこで、
procedure CustomProc(CustomRecord: TCustomRecord);
var
P: PCustomRecord;
begin
New(P);
P.hoge := CustomRecord.hoge;
ListView.Items[0].Data := P;
end;
としてレコード型の構成要素同士を代入してやるとうまく参照できます。
なぜなのでしょうか?
■ このスレッドは過去ログ倉庫に格納されています