OnGetTextイベントという名前だけは知っていたが、それがどのコンポーネント(?)のイベントなのかわからなかったので使い方がどうのまで進めなかった。OnGetTextイベントはTFieldが持っている。そのTFieldはどれが持っているかというと、DataSetが持っている。そのDataSetは何かというと、様々な種類のDataSetがある。TSQLDataSetやTIBDataSetやIBQueryやIBTableなんかもデータセットとして機能する。
使い方は、
IBQuery1.Fields[4].OnGetText := OnGetText;
でイベントを設定して、
procedure TForm1.OnGetText(Sender: TField; var Text: String; DisplayText: Boolean); begin end;
でイベント発生時の処理を記述する。
それにしても、何故これでエラーが出ずに動くのかが不明。代入にパラメータを設定していないのに。同様のことをADOQueryでやってみたらエラーが出て実パラメータが足りませんと怒られたのに。