喫茶XRAYトップページ

[スレッド全体
]

[10081] Re4:TPath,TDirectory,TFile返信 削除
2016/6/18 (土) 23:52:38 KON
▼ Mr.XRAYさん

ちょっと話題が変わりますが…。
最近、XRAY様のサイトの記事で、
[ 160_コンポーネントの実行時生成 ] の 03_複数のボタンを作成 ( TList を使用 ) が
非常に参考になりました。m(_ _)m
ボタンを押すとインスタンスが消えるというアレです^^;

と、申しますのは、
FireMonkeyでは、例えば ボタン等 のコンポーネント に TFloatAnimation等を
[構造ビュー] でぶら下げて、適切なプロパティを設定し、
アニメーションを行ったりする事が可能なのですが、
いちいち面倒なので、私としてはもやもやしてました。
※ StyleBookでも指定できますが、プログラムから行いたいし、コンポーネント別に
    様々な動きをさせたい為、
    一度に複数のコンポーネントのスタイルを変える分にはすごく良いです。

私としては、プログラムからどの様なアニメーションを行うのかを引数で指定し、
関数呼び出しで指示(トリガー)を出し、
勝手にアニメーションを行わせたかったという思いがあったのです。
もちろんアニメーションが終了すればインスタンスも自動的に消滅して欲しい。

そこで、TAutoAnimationという新たなクラスを作りました。
アニメーションの指示があれば、Position、RotationAngle、Scaleプロパティ等を
変化させる TFloatAnimation等 を動的に生成、
生成したインスタンスへのポインタをTListで保存し、アニメーション終了と共に
( OnFinishイベントハンドラに飛んできた時か、Stopメソッドを発行がなされた時 ) 、
TListに登録しているインスタンスやポインタを自動的に消去。
これで、[構造ビュー] や StyleBookを使わずに、
丸投げ出来るアニメーションを作成する事ができました。

問題だったのは、自動的にインスタンスを消滅させるカラクリで悩んでまして、
XRAY様の記事がすごく参考になったのです。感謝します。
Object Pascal HandBookも参考しなりますし、色々とポケットが増えそうで
面白いですね。


[10083] Re5:TPath,TDirectory,TFile返信 削除
2016/6/19 (日) 00:52:11 KON
> ▼ Mr.XRAYさん

何度もすみません^^;

[ メモリマネージャー FastMM の導入 ] の 04_Delphi 付属の FastMM を利用する場合 ( Delphi 2006 以降 )
の記事も参考になりました。

ReportMemoryLeaksOnShutdown := TRUE;

で、前述のクラスの動作チェック行いましたが、問題無いようです。

スレ伸ばし過ぎですね^^;
これからは気をつけますのでご容赦を。

[10084] Re6:TPath,TDirectory,TFile返信 削除
2016/6/19 (日) 10:28:10 Mr.XRAY
▼ KONさん

> の記事も参考になりました。

KON さんの参考になるなんて,嬉しいです.(^^)

# あっ,またスレ伸ばしてしまった...


[▼次のスレッド]
INCM/CMT
Cyclamen v3.82