Delphi2007 ForeDAC TADMemtable(最近のDelphiでは、TFDMemTableに改名) の使用での注意点。
Windows7 英語版 で動かす場合、フィールド名に、2バイト文字を使うとエラーとなる。
Delphi2009以降のUniCode対応版ではもしかしたら大丈夫なのか。未確認。
弊社、いろいろな会社がDelphiで作成したプロラムのメンテを多くさせていただいています。
その中で、あまり使われていないor知られていないけど、便利なプロパティについて紹介します。
(えらそうに書いているけど、他者が作ったプログラムをメンテさせていただいている中で気づいたというのが真相ではあります。。。。)
今回(次回があるかは不明)は、Forms.Constraintsです。
これは、Formをリサイズできるようにした場合の、変更できる高さや幅の制限をかけることができるプロパティです。下記の4点の指定ができます。
MaxHeight
MaxWidth
MinHeight
MinWidth
かつて(ずいぶん前)は、画面の解像度は限られたもので、事前に、画面設計も解像度などを決めて作成していました。
最近は、解像度も多種になり、特に一覧表示などは自由に表示サイズを変えたいという要望がでます。
設定は簡単に変えられるのですが、ボタンが見えなくなるなどで、ある程度のサイズより小さくならないように設定しておく必要が出ます。
このような場合、MinHeight、MinWidthにサイズ指定を指定しておくことで対応ができます。
TFDMemTable | TClientDataSet | |
Append | 7.300 Sec 6.630 Sec | 5.117 Sec 5.148 Sec |
Close | 0.171 Sec 0.188 Sec | 2.356 Sec 1.575 Sec |
TFDMemTable | TClientDataSet | |
Append | 54.618 Sec 54.825 Sec | 45.277 Sec 45.126 Sec |
Close | 1.555 Sec 1.655 Sec | 92.922 Sec 92.635 Sec |
Printer.Canvas を使った印刷で、事前に用紙サイズを指定する場合、用紙サイズの定数に注意が必要。最近の機種では、必ずしも 256 がカスタム用紙でない。
Delphi2007以前(以降は未調査)の場合、カスタム用紙 DMPAPER_USER = 256 となっている。