掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
配列を戻り値にして参照・代入するには? (ID:6673)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
type TWork = array of Integer; // これを最初に宣言しておく type TClass1 = class public Fwork:TWork; constructor Create(Work: Integer); end; type TClass2 = class protected Field: array of TClass1; public constructor Create(Max: Integer; WorkSize: Integer); destructor Destroy;override; // 忘れないこと!! function ReadWork(Number: Integer): TWork; end; var Form1: TForm1; implementation {$R *.DFM} constructor TClass1.Create(Work: Integer); begin SetLength(Fwork, Work); end; constructor TClass2.Create(Max: Integer; WorkSize: Integer); var I: Integer; begin SetLength(Field, Max); for I := 0 to Max - 1 do Field[I] := TClass1.Create(WorkSize); end; destructor TClass2.Destroy; var I: Integer; begin for I := 0 to High(Field) do Field[I].Free; end; function TClass2.ReadWork(Number: Integer): TWork; begin Result := Field[Number].FWork; end; var Work: TWork; Test: TClass2; procedure TForm1.FormCreate(Sender: TObject); begin Test := TClass2.Create(2,3); Work := Test.ReadWork(1); Work[0] := 1234; Work[1] := 9876; end; procedure TForm1.Button1Click(Sender: TObject); begin Label1.Caption := IntToStr(Test.ReadWork(1)[1]); end; procedure TForm1.FormDestroy(Sender: TObject); begin Test.Free; end;
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.