Tips

使用を控えるべき廃止予定コマンド

日付2010/06/25
ID76022 (英語原文参照)
バージョンv11
プラットフォームMac/Win

下記のコマンドは廃止予定であり, 現在は互換性保持のため暫定的に残されています。

Deactivated
Activated
In Header
In Break
In Footer
Before
During
After
Outside call

4D v6以来, 該当するイベントはForm Eventコマンドで処理できるようになりました。

廃止予定コマンドは特定の条件でTrueを返したので, Case ofまたはIf文の条件に掲げるのが一般的でした。

If(Activated)
    ORDER RECORDS BY([Parents];[Parents]Children;>)
    ` ...
End If

Form eventもCase ofまたはIf文で判別する点は同じですが, イベントを定数で判別する点が異なります。

If(Form event=On Activate)
    ORDER RECORDS BY([Parents];[Parents]Children;>)
    ` ...
End If

廃止予定コマンドとForm event定数の対応関係は下記のとおりです。

  • Deactivated : On Deactivate
  • Activated : On Activate
  • In Header : On Header
  • In Break : On Printing Break
  • n Footer : On Printing Footer
  • After On Validate
  • 廃止予定コマンド中, , BeforeとDuringはフォームイベントとの関係が一対一ではなく, 複数のイベントでTrueを返します。

  • Before : On Load, On Display Detail, On Printing Detail
  • During : On Clicked, On Double Clicked, On Losing Focus, On Getting Focus, On Menu Selected, On Data Change, On Close Box, On Printing Detail, On Open Detail, On Close Detail
  • 下記の特殊な表記は, 単一のフォームイベント定数に対応します。

  • (Before & During) : On Display Detail
  • Form eventコマンドを使用すれば, より的確にイベントを処理することができますが, 古いバージョンのコードは, 文脈によってさまざまなフォームイベントにマッピングされる必要があるので, 書き換えは慎重に検証を重ねながら実施するようにしてください。