17Th
Developer Camp

【A2】Delphi / C++Builder テクニカルセッション“FireMonkey が得意とする
ビジネスアプリ” の考察
ビジネスアプリ有限会社エイブル
富永英明

1

17Th
Developer Camp

1

はじめに
はじめ

2

今回は？
•

前回 (21th 【T4】) は 右も左もわからない状態からのFireMonkey ファーストインプレッションでした。
ファ ストインプレッションでした•

それなりに FireMonkey アプリケーションの作り方が解ってきたので、"向き / 不向き" もなんとなく判ってきました。

•...でも、まだまだでも、まだまだ FireMonkey 初心者です。

•

技術論というより、方向性の話です。

•

漠然と 「～に向いてますよ」 と言うのでは説得力がないので、FM(2) の機能を検証しながら向き / 不向きを考えてみたいと思います。

•

3D 成分は少なめですのでご安心を。
3

ビジネスアプリと FireMonkey•

ここで言うビジネスアプリとは業務に特化したアプリケーション。

•

装飾とかはできればやるけど、予算的にも納期的にもあまり凝った事はできない
あり凝事((アイコン作るのでさえ面倒なのに)。
倒)。

•

3D と...誰がモデルデータを作るの？

•

FireMonkey にはアニメーションがあるけれど、
3D 使うのでなければ積極的に使おうという気にはならないかも？

•

LiveBinding は 「スゴい！」 と思う反面、挙動が一見しただけではわからないのでついついコードで書いちゃう。

※意見には個人差があります。

4ビジネスアプリを FireMonkey で作るための条件•

VCL アプリの時と同等とまでは言わないが、開発速度が落ちない事。

•

見栄えを気にする顧客も居るけれど、
あ り
あまりにも負担が大きすぎるのはちょっと...。
負
す
。

•

「Mac OS X でも動くように」 と言われた場合には選択の余地がない。

•...がマルチプラットフォームなのであれば、Web アプリ以上の操作性や独自性がなければ、ネイティブアプリケーションであるという存在意義が独自性がなければ、ネイティブアプリケ ションであるという存在意義が薄れてしまう。

•

要は VCL アプリでは実現できない事や、プ
FireMonkey アプリだと比較的楽に実現できる事があるのなら、FireMonkey
y を使ってビジネスアプリを作ってみたい！

※意見には個人差があります。

5

17Th
Developer Camp

2

FireMonkey
y のおさらのおさらい

6

FireMonkey って？
•XE2 以降で追加された、VCL とはまた別のフレームワーク。

•

マルチプラットフォーム (Windows / Mac OS X) である。
(XE2 では iOS アプリケーションも作成可能)•

PA Server を使って実機によるリモートデバッグが可能。

•

HD (2D) アプリケーションと 3D アプリケーションが作れる。

•

レイヤーを入れ子にできるので、HD / 3D のどちらか片方しか作れないという訳ではない。

•

基本的に VCL とは併用できない。RTL は FireMonkey からも利用可能。

•

XE3 の FireMonkey
Fi M k は FM2 と呼ばれている。
と呼ばれている7

FireMonkey アプリケーションの動作環境•

Windows は XP
以降で動作する。

•

DirectX 9.0 相当を必要とする。
必要とする•

Direct2D はVista 以降•

OS X は 10.6
10 6以降で動作する。

•

Intel Mac なら、なら
少なくとも 10.6 は必ず動作する。
8前回のあらすじ•

VCL アプリケーションと違って何でも親子関係になるよ。
(やっても意味のない親子関係があるにはあるよ)

•

常に [構
[構造ビュー]] をを出しておかないとワケワカメになるよ。
。

•

カスタムスタイルでコントロールの外観等を変更できるよ。

•

コントロールそのものを回転したり拡大 / 縮小できるよ。

9FM2 で追加されたものと削除されたもの (1)•[3D Layers]
TSolidLayer3D /TSplitter3D•[3D Shapes]
TSelectionPoint3D (削除)•

[Additional]
TMediaPlayer /TMediaPlayerControl

•

[dbE
]
[dbExpress]
TSQLMonitor•[Effects]
TSwipeTransitionEffect10

FM2 で追加されたものと削除されたもの (2)•[Gestures]
TGesutureManager•[[Layouts]y]
TFlowLayout /•[LiveBinding]
TBindSourceDB /TFlowLayoutBreak /TBindSourceDBX /THorzScrollBox

TPrototypeBindSource※ TBindSourceDB は XE2 だと TBindScopeDB です。

••[LiveBinding Misc]
TDataGeneratorAdapter /[Materials]
TColorMaterialSource /TLightMaterialSource

TAdapterBindScope

TTextureMaterialSource /11

FM2 で追加されたものと削除されたもの (3)•[Metropolis UI]TLiveTile•[Sensors]
TLocationSensor /TMotionSensor•[Standard]
TPopup (XE2： コンポーネントとしては存在しない)•

FMX Pl tf
Pl tf
FMX.Platform.Platform
変数 (削除)•TabOrder プロパティ (削除)()•

スクリーンキーボード呼び出し•

Anchors プロパティ

12

17Th
Developer Camp

3

FireMonkey が得意とする
ものと苦手とするもの

13

○ 外観 (カスタムスタイル)•

FireMonkey はスタイルを変更する事でコントロールの外観を変更可能。

？

「...VCL にも "VCL スタイル" あるじゃん?」14

○ アニメーション•

FireMonkey は アニメーションを使ってコントロールに動きを付けられる。

？

「何で動きを付ける必要があるの？」

15

○ センサー＆ロケーション (FM2)•

FireMonkey では簡単にセンサー＆ロケーションを扱える。

？

「...VCL からも使えるって言ってなかった?」16

△ キーボード入力の多いフォーム•

FireMonkey は入力コントロールの多いフォームがちょっと苦手。

...

「バリバリキーボード入力するのなら VCL のほうがいいかも」

17

× BDE とか ActiveX•

FireMonkey では BDE や ActiveX は使えない。

...

dbGo ((ADO)) はWindows プラットフォーム
専用だが利用可能。

「マルチプラットフォームだしね...」18

○ DBX4 とか IBX とか DataSnap とか••

DBX4 / IBX / DataSnap はマルチプラットフォーム＆64bit で利用可能。
DB 操作方法は VCL と全く同じなので、ビジネスロジックでは苦労しない。
と全く同じなので ビジネスロジ クでは苦労しない！

「詳しくは DH山本さんの 【A5】 セッションで！ (丸投)」

19

○ 3D
•

S

FireMonkey は 3D アプリケーションも作れる。

！

「全部自前でやれって言われたら涙目」

20

○ マルチプラットフォーム•

S

FireMonkey は OS X アプリケーション開発に対応している。
(画像はハメコミ合成ではありません)！

「ウリの「ウリの一つだしね」
だしね※ {$RTTI EXPLICIT } 指令は使わないほうが無難。

21

○ 高解像度アプリケーション対応••

FireMonkey は スケール変更 / 回転が実用的。
スケ リング対応にするには フスケーリング対応にするには、フォームにムに TScaledLayout
TS l dL
t を貼り、を貼りその上にコントロールを置くだけでいい (Alignment は alFit 系で)。

「Windows 8 でフォームが崩れて困ったな、そういや」

S

！

22

17Th
Developer Camp

4

FireMonkey に向いている
ビジネスアプリは？

23

ここまでの前提条件を踏まえて。

...では何が FireMonkey に向いているのか？

24

FireMonkey に向いているビジネスアプリ (1)••Mac OS X 上で動作するアプリケーション
Wi dWindows
版と MacM 版で "ほぼ同等の操作性のアプリ" が必要な場合。
が必要な場合•理由 選択の余地がない
 Windows と Mac で別の開発ツールを使うのは効率が悪い。
25

FireMonkey に向いているビジネスアプリ (2)••スレート PC (タブレット PC) で動作するアプリケーション
タ チパネルで操作するアプリケ シ ン
タッチパネルで操作するアプリケーション•

理由 センサーが使える FireMonkey では、回転 / 拡大縮小の処理が簡単 キーボード入力が殆どない
26

FireMonkey に向いているビジネスアプリ (3)••S

視覚的に訴えるアプリケーション (3D 含む)
動きのあるアプリケ シ ン
動きのあるアプリケーション
右の画像は 2 つの物体のの物体のサイズを比較するだけのアプリケーションです。
機能はシンプルですが、
単に数値が並んでいるより、サイズを具体的にイメージできます
サイズを具体的にイメージできます。

•

理由 VCL で同等のことを行うのは不可能ではないが大変 DirectX や OpenGL の知識がなくともそれなりの事ができる。
27

FireMonkey に向いているビジネスアプリ (4-1)•...実は普通のビジネスアプリケーション。

4：3
43(1024x768)

5：4(1280 1024)(1280x1024)

実 DPI が同一でが同インチサイズが異なる場合•

理由 Windows 8 では画面の DPI が調整される = 96DPI ではない 今後、高解像度対応のアプリケーションが必要になってくる。
28

FireMonkey に向いているビジネスアプリ (4-2)•

リサイズ可能でフォームサイズと情報量が比例するのならばいいのだが？

インチサイズが同一で
イ
イズが実 DPI が異なる場合•

理由 スケール固定でないと画面のレイアウトが崩れる (VCL アプリ)。
 スケール固定だと相対的にフォームサイズが小さくなってしまう。
29

17Th
Developer Camp

5

役に立つかもしれない＆
ヒントになるかもしれない
Tips

30

タブ順序をどうにかしたい•

FM2には TabOrder が存在しない。タブ順序はコントロール作成順となる。

•

並べ替えたい順にフォームデザイナでコントロールを選択し、Ctrl+X で切り取って Ctrl+V で貼り付けるとタブオーダーが変わる。
(VCL フォームアプリケーションでも同じ)•

複数選択時に FMX のフォのフォームデザイナが言う事を聞かない場合には、ムデザイナが言う事を聞かない場合には、一つづつ並べ替えたい順にコントロールを切り取り、テキストエディタに順に貼り付ける。そして全選択してフォームデザイナに貼り付ける。

•

一旦、[構造] ビューでコントロールを複数選択するとうまくいくかも。
それでもダメならメインメニューの [編集] からコピーとか。

•

並び替えるのをやめて (あきらめて)、フォーカスを持つコントロールをリスト (或いは動的配列) に突っ込んで管理する。
に突っ込んで管理する※現在、スマートな解決方法を模索中です。

31

IM(E) モードをどうにかしたい (暫定)
•
•
•
•

S

コントロールの ImeMode プロパティは動作しない。
O E t / OnExit
OnEnter
O E it で無理矢理 IM(E) を変更する。
を変更する
Windows なら、VCL の SetImeMode() を呼び出す。
OS X は...IM
は IM の制御方法がよくわからなかったので、の制御方法がよくわからなかったので"ことえり" のショートカットのキーコードを送信したが、それなりに動いた。

const
kVK ANSI J = $26;
kVK_ANSI_J$26
var
Src: CGEventSourceRef;
EventUp, EventDown: CGEventRef;
begin// Ctrl + Shift + J のキーイベントを生成 ((ことえりのひらがなモードショートカット))
Src := CGEventSourceCreate(kCGEventSourceStateCombinedSessionState);
EventDown := CGEventCreateKeyboardEvent(Src, kVK_ANSI_J, Integer(True));
CGEventSetFlags(EventDown, kCGEventFlagMaskControl or kCGEventFlagMaskShift);
EventUp := CGEventCreateKeyboardEvent(Src, kVK_ANSI_J, Integer(False));CGEventSetFlags(EventUp, kCGEventFlagMaskControl or kCGEventFlagMaskShift);
CGEventPost(kCGSessionEventTap EventDown);
CGEventPost(kCGSessionEventTap,
CGEventPost(kCGSessionEventTap, EventUp );CFRelease(EventUp );CFRelease(EventDown);
CFRelease(Src);
end;※現在、スマートな解決方法を模索中です。

32レポートツールはどうするの？
••

FastReports の FMX 版が発売されている。
C/S とか三層データベースアプリなら...
とか三層デ タベ スアプリならVCL で印刷サーバを作り、Indy 等で帳票の種類やパラメータを通信して印刷する。
• プリンタ設定が一回で済む• OS によって印刷結果が異なるのを回避できる。

印刷専用
アプリ

33

Microsoft Office との連携はどうするの？
••*.docx / *.xlsx / *.pptx は ZIP で固められた XML ファイル。
System.Zip.TZipFile と Xml.XMLDoc.TXMLDocument を使えば、を使えば自在に加工する事ができる (VCL でもできるという事なのですが...)。

•[TXMLDocument の使い方 (DocWiki)]
http://docwiki.embarcadero.com/RADStudio/ja/TXMLDocument_%E3%81%AE%E4%BD%BF%E3%
81%84%E6%96%B9•[Office (2007) Open XML ファイル形式の概要]
http://msdn.microsoft.com/ja-jp/library/aa338205%28office.12%29.aspx•[Office Open XML File Formats]
http://www.ecma-international.org/publications/standards/Ecma-376.htm
34

埋め込みブラウザは？
•
•
•
•

S

Delphi Chromium Embedded Framework (DCEF) が使える。
最新版の DCEF3 (http://code.google.com/p/dcef3/)(htt // dl/ /d f3/) は、は
現在 VCL 専用。
DCEF1 ((http://code.google.com/p/delphichromiumembedded/)
p
g g
p
p
) は、
、
そのままでは XE3 に対応しない。
XE3 で DCEF1 を使うには、以下の URL にあるパッチが必要となる。
https://groups google com/forum/?fromgroups=#!topic/delphichromiu
https://groups.google.com/forum/?fromgroups=#!topic/delphichromiu
membedded/rLt4wgRDy0c

ロケーションコンポーネントと組 合わ組み合わせた例です
例 す※但し、64bit / OS X 用はまだ存在しない。

35

センサー＆ロケーション (FM2)•••

PC にセンサーが付いているのなら使わないテはない。
Wi Fi が使えれば、仮想
Wi-Fiが使えれば 仮想 GPS センサーを利用可能
センサ を利用可能 (Windows
(Wi d
7)
7)。
(Geosense for Windows: http://geosenseforwindows.com/)、仮 GPS センサーなしでも Wi-Fi データ等から等
Windows 8 ならば、仮想三角測量を行う...らしい。

※センサーコンポーネントは、あと 7 個増やせます。

36

ドライバによる画面回転とソフトウェアによる回転
•
•
•

S

ドライバが持つ画面回転機能は全般的に遅い。
画面の書き換え過程が見えてしまう (描画をロックしたとしても)。
(描画をロ クしたとしても)ドキュメントの類は縦画面で読んだほうが視認性がいい事がある。

横最大

フィット

フィット

37

とりあえずスタイルを変更してみる。
•••

用意されているスタイルへ変更するだけでも随分と印象が変わる。
手間が掛からないのでや て損はない
手間が掛からないのでやって損はない。
利用できるスタイルは $(BDS)¥Redist¥styles¥Fmx にある。

スタイルについての詳細は
第23回デベロッパーキャンプ【B2】見た目で楽しい
Delphiプログラミング
プ グラミ グセッション資料を参考にしてください。
してください38

タイリングな背景•••

S

TImage を alClient で貼り、WrapMode プロパティ を iwTile にしただけ。
Fi
FirewMonkey
M k には簡単機能が用意されているものが少なくない。
には簡単機能が用意されているものが少なくない...探すのが大変ですが (^^;A39

動く (企業) ロゴ••

S

画像をレイヤー状に配置してアニメーションさせれば動くロゴが作れる。
メインフ
メインフォームやスプラッシュウィンドウに配置するとインパクトあるかも。
ムやスプラ シ ウ ンドウに配置するとインパクトあるかも40

TPopup でアラート (FM2)
•
•
•

S

TPopup を使ったアラート (ダイアログ)
複数のフ
複数のフォームではなく単一のフォームで画面遷移する場合に。
ムではなく単 のフ
ムで画面遷移する場合にOS 標準のダイアログではできない事 / 不都合な事がある。

41

FireMonkey が機能不足で VCL の機能が必要な場合 (1)•

最初にお断りしますが非推奨です。

•

VCL アプリケーションを作り、そこへ TPanel を貼って、TPanel に FMX フォームを割り当てる。

•[VCLフォーム内にFireMonkeyフォーム - ただし互換性が無いので…]
http://blogs.embarcadero.com/teamj/2011/09/12/2387/
p
g
j

•

[Delphi XE2 - heating up the hype: playing the matchmaker for VCL and FMX]
http://delphisorcery.blogspot.jp/2011/09/delphi-xe2-heating-up-hypeppyg p jpp
g p ypplaying.html•

DSharp Windows FMXAdapter pas は FM2に対応していない。
DSharp.Windows.FMXAdapter.pasに対応していない•

MonkeyMixer の作者はブログを閉じてしまった (現在 DL 不可)。
42

FireMonkey が機能不足で VCL の機能が必要な場合 (2)FireMonkey 用のフォームはここで作る
VCL 用のフォームはここで作る
プロジェクトのみ。
フォームはここに追加(作成はしない))(作成はしな※FMX プロジェクト上では VCL フォームは新規作成できない。逆も然り。

43

FireMonkey が機能不足で VCL の機能が必要な場合 (3)

S

コード例：
procedure TfrmContainer.FormCreate(Sender: TObject);// フォーム作成時
フォ ム作成時
begin

FMX フォーム用パネル(コンテナ)// FMX フォームを生成
frmuMain := TfrmMain.Create(nil);end;
procedure TfrmContainer.FormDestroy(Sender: TObject);// フォーム破棄時
begin// FMX フォームを破棄
frmuMain.Free;
end;
procedure TfrmContainer.Button1Click(Sender: TObject);// ボタン押下時
begin// FMX フォームをパネルに埋め込む
フォ ムをパネルに埋め込む
pnlContainer.Form := frmuMain;end;

マルチプラットフォームにしなければならない可能性が僅かでも残るのであればこの手法を採るべきではない。
44

VCL でタッチ対応アプリケーションを作った時の苦労話(1)
•
•
•
•
•
•
•
•
•
•
•

フルHD デスクトップのタッチアプリケーションと
画面回転可能なスレ トPCで動作する同じ機能のアプリケ ション
画面回転可能なスレートPCで動作する同じ機能のアプリケーション。
工場向け (図面閲覧や工程管理用)
タッチディスプレイは 21.5 インチ。B4。
サイズの用紙が実寸で収まる。
用紙 実。
スレート PC は 11.6 インチ。図面を閲覧したりするので、拡大/縮小機能があったとしてもそれなりの大きさを必要とする。
キ ボ ド / マウスレス。
キーボード
マウスレス
バーコードリーダとタッチディスプレイですべての操作を行う。
(キーボード操作
PC に不慣れな (キボ ド操作 / マウス操作がおぼつかない) 方でも使い方は1 日で覚えてしまう。
スワイプ等の一見して解らない操作方法は極力排除。
UI は何らかのボタンという形で画面上に見えている。
将来的には障碍者の方の雇用に結びつくようなアプリにしたいとの事。
月に１～2度 他社の視察を受けている模様
月に１～2度、他社の視察を受けている模様。
45

VCL でタッチ対応アプリケーションを作った時の苦労話(2)
•
•
•
•
•
•
•
•
•
•

開発スタートは XE2 発売の半年程前。
Fi M k の情報は事前に判っていたが間に合わなかった。
FireMonkeyの情報は事前に判 ていたが間に合わなか た
ボタンをすべて自前で描いた (通常 / 押下 / 無効を 1 セットで)。
スレート
スレト PC の回転機能はドライバによる回転なので、の回転機能はドライバによる回転なのでどうやってもチラつく＆遅い (未解決)
デスクトップでは収まるものがスレート PC では収まらなかったりするが、同じ機能のアプリケ シ ンを 2 つ別に作る余裕はなかった。
同じ機能のアプリケーションをつ別に作る余裕はなか た
解像度が異なるので、違いを意識させる事のない操作性にするのが難しかった ((実 DPI の考慮)。
)
スレート PC のセンサー (3軸加速度センサー) を検出するのが厄介だったので諦めた (回転の検出は解像度変更の検出で代替)。
UI に関しても、工数の関係で簡素化してしまったものがある。
に関しても 工数の関係で簡素化してしま たものがある
一部 Direct2D を使っている。
OS のダイアログはのダイアログは一切使えない
切使えない (タッチ操作できたものではないので)。
46

VCL でタッチ対応アプリケーションを作った時の苦労話(3)
•
•
•
•
•
•

•

スレート PC は Atom プロセッサなので非力。
予算が潤沢にあるのなら CoreC
系のスレ ト PC を採用するのもアリだが、系のスレートを採用するのもアリだが工場のように台数を必要とするトコロではそうもいかない。
FireMonekyy アプリがストレスのない速度で動作するのは確認済。
度 動 す
確認済。
(流石は Delphi...以下略)
現在の FireMonkey に足りないと思うのはインプレースな
タッチ (仮想) キーボード。
キーボード
OS が持つスクリーンキーボードはオーバーラップするので使い勝手が悪い＆OS 毎に操作性が異なる。
"スレート PC プログラミング (ONKYO TW317A5)" は
http://ht-deko.minim.ne.jp/tw317/#05(FireMonkey を知った後では) ある意味バッドノウハウのオンパレ
ある意味バッドノウハウのオンパレード。
ド。
FireMonkey があれば、もっと簡単に作れたのに...。
47

17Th
Developer Camp

6

まとめ

48

FireMonkey をビジネスアプリで活用するために•「VCL アプリケーションを捨てろ！」 なんて事は言っていないし言わない。

•

しかしながら VCL アプリケーションでは工数とメンテに時間が掛かるものが確かに存在する。

•"FireMonkey をビジネスアプリで活用する" には、FireMonkey で何がやれるか、何がやれないかを見極める必要がある。

•

マルチプラットフォームなら、RIA (Rich Internet Applications) よりも操作性の面で優れている必要がある。RIA と同等またはそれ以下ならば
デスクトップアプリケーションである必然性がない。

•

安価なもので構わないので、スレート PC を仕入れて触ってみる。
センサー、マルチタッチ、縦横回転など、従来のアプリケーションとは異な た考え方のアプリケ シ ンを提案できるかもしれない
異なった考え方のアプリケーションを提案できるかもしれない。
49

システムのスケーラビリティ (業務アプリの展開方法)••••

最初は Windows のみの C/S でスタート
マルチプラ トフマルチプラットフォームとして
ムとして Mac
M を追加
外部からのアクセスを可能にするため、DataSnap で三層化 (Ent)
DataSnap モバイルコネクタを利用して iPhone や Android 対応 (Ent)

予算や納期に合わせて無理のないシステム拡張を行うことが可能になる。
うRAD Studio も、その規模に合わせてアップグレードすればいい。

Step1

Step2

Step3

Step4

50

具体的に何が向いているのか？
•

受付業務全般(フロントでお客さんが操作するようなもの)•

工場系のワーカーさんへの作業指示＆フィードバック
場系
業指(ペーパレスが実現できる / 手が汚れていても肘などで操作可)•

医療系の高精細な画像を扱うアプリケーション
医療系の高精細な画像を扱うアプリケ
シ ン(高解像度ディスプレイを使ってもフォームが破綻しない)•

フィールドワーク / 営業さん用(GPS とローカル DB があれば、通信できないような場所でも OK)•

エライヒトまたは視察 (おもてなし) 用のハッタリアプリケーション((見た目で納得しちゃう方が少なからずいらっしゃいます...))
51

17Th
Developer Camp資料

52

関連情報 &資料1••

[FireMonkey アプリケーション プラットフォーム (DocWiki)]

http://docwiki embarcadero com/RADStudio/ja/FireMonkey アプリケーション プラットフォーム
http://docwiki.embarcadero.com/RADStudio/ja/FireMonkey_アプリケーション_プラットフォーム[デベロッパーキャンプアーカイブ (Embarcadero)] - 過去のデブキャン資料です
http://www.embarcadero.com/jp/developer-camp-japan/archive
p
jp
p
pj p

•

[Devices (ロケーション/センサー API) (MSDN)]
http://msdn.microsoft.com/en-us/library/ee663267%28VS.85%29.aspx•[デバイスの概念とアーキテクチャ (Windows)]
http://msdn.microsoft.com/ja-jp/library/windows/apps/hh750300.aspx•[高 DPI 対応の Win32 アプリケーションを記述する] - 悩んでしまうかもしれません(Windows デベロッパー センター)
http://msdn.microsoft.com/ja-jp/windows/dd630126.aspx
p
j jp
p

53

関連情報 &資料2•

[Microsoft Serface with Windows 8 Pro (Microsoft)]
http://www.microsoft.com/Surface/en-US/surface-with-windows-8-pro/homepp•[Lenovo Thinkpad Tablet 2]
http://shopap.lenovo.com/jp/products/tablets/thinkpad2/•[Mac OS X 10.6 Snow Leopard (Apple Store)] - ¥1,700 で再販中...orz
http://store.apple.com/jp/product/MC573J/A/mac-os-x-10.6-snow-leopard•[FireMonkey (Stack Overflow)]
http://stackoverflow.com/questions/tagged/firemonkey•[Delphi (FireMonkey) によるテクニック＆アルゴリズム]
http://ht-deko.minim.ne.jp/techalgof.html•[FMX S[FMX.SensorsEx]
E ] - FM2 のセンサーコンポーネントをのセンサ コンポ ネントを 7 個増やせます
http://ht-deko.minim.ne.jp/software/fmx_sensorsex.zip•[DTween (全力わは(全力わはー)])] - VCL でもアニメ
でもアニメーションできます
ションできますhttp://d.hatena.ne.jp/tales/archive?word=*[DTween]
54