どう考えてもプログラミング言語としてはイマイチなVBA。
なんでまた使われ続けているのか?

この答えは
 ・IT系エンジニアには分からない
 ・一般のユーザーには分かる
ということではないだろうか。

ITエンジニア諸君。よく考えて貰いたい。それもITの重要な役割であるから。
実のところ、FireMonkeyを使って作成しようとしていたあるソフトが「まったく描画されない」という事象で悩んでいた。
どうやらTBitMpaに貼るらしいが、そんなことしたくもない。

で、調べていると
・XPでは、onPaintイベントが動かないと描画されない傾向がある
とのこと。これ、iOSも同様らしい。

ならば、とフォームのonPaintに記述してみると、見事描画!

ということで、注意点とか実験結果。
・XPやiOSでも動くよう、onPaintイベントを使う。
・onPaintから呼び出されるプロシージャに描画処理を書いていてもOK。関数は試してないが、大丈夫では?
・書き換えたいときは、onPaintを強制的に起動させる。Invalidateメソッドでそれは可能。

これでやりたいことの技術面はクリアできただろう。あとは・・・やる気か・・。

Delphi XE2 update 1 から update 4 にした。この際、差分インストールではなく再インストールが必要になる。
再インストール時にはプロダクトキーも聞いてくるわ、時間はかかるわで結構面倒だ。

インターネット経由のアップデートをしたが、Cドライブの空きが少ないのでDに入れる指定をしても、とりあえずCに空きがないと容量不足で終わってしまうようで・・。そこがかなり残念だった。

インストール後、既存のプロジェクトを実行すると「F1027 ユニットが見つかりません:'System.pas' またはバイナリ相当 (.dcu)」とか出た。
新規にプロジェクトを作ってもダメだったのでのどうせ環境面(パスとか)だろう。そうあたりを付けて[ツール]-[オプション]を確認するとダイアログで[環境オプション]-[Delphiオプション]-[ライブラリ]というのを見つけた。
実は、前回とインストールパスが違ったのだが、ここの[ライブラリ・パス]には過去のインストールパスが記されていた。それを強引に書き換えて、事なきを得た。

機能面より、こういう部分はきっちりして欲しいものだ。