掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
コンポーネントでOpenDialogをつかうには? (ID:22169)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> クラスを渡すことができないということでしょうか? できます。 「ん?」さんの使い方参照してください。 具体的には > property MyPersistent:TMyPersistent read FMyPersistent write SetMyPersistent; ここ(SetMyPersistent)の中身。 クラス型のプロパティは、インスタンス(ここではFOpenDialog)の置き換え(単純な代入)ではなく、 そのクラスのプロパティを複写するメソッドを用意するのがいいでしょう。 HOtaさんのレスにもあるように、ぽとりぺたりで貼り付けたコンポーネントをプロパティで参照し、 使用するのであれば話は違います。 このときは、迷える子羊さんのくらすでは、TOpenDialogの変数を用意するだけで、 クラス内でTOpenDialogのインスタンスを用意する必要はありません。 ただし、フォーム上からOpenDialogを削除したとき、プロパティをnilにする必要があるので、 Notification(スペル怪しい)を継承し、参照しているOpenDialogが破棄されたことをチェックする必要があります。 var IA, IB:Integer; TA, TB:THogeClass; begin IA := 1; IB := 1; TA := THogeClass.Create; TB := THogeClass.Create; //このときこうなります。 IA = IB TA ≠ TB //これでTA = TB です TA := TB; TA.Free; TB.Free; //ここでアクセス違反 //元のTAは行方不明 end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.