TDataMoudleにはClassGroupプロパティがあります。
このプロパティで、データモジュールがVCL用かFMX用かフレームワークに依存しないかを設定します。
たとえばTTimerコンポーネントはVCL用のVcl.ExtCtrls.TTimerとFMX用のFMX.Types.TTimerがあります。
使用するコンポーネントとClassGroupで設定したフレームワークを一致させる必要があります。
オブジェクトインスペクタでClassGroupプロパティを設定すると、ユニットファイルには次のような指令が追加されます。
ClassGroupがFMX.Controls.TControlの場合:
{%CLASSGROUP 'FMX.Controls.TControl'}
フォーマッタのコメントスペースの設定の「{ および (* コメントスペースの設定」は初期値が「内側と外側」になっています。
この設定でコードを整形すると、ClassGroupプロパティによって追加された指令が次のようになります。
{ %CLASSGROUP 'FMX.Controls.TControl' }
「{」「}」の間に空白が追加されました。
このように空白が追加されると、ClassGroupプロパティの値は未設定の状態になります。
ClassGroupプロパティの値が設定されていない状態になると、コンポーネントとフレームワークに不一致が生じます。
その結果、IDEでデータモジュールを読み込むときにエラーが発生します。
エラーが発生した場合は、ClassGroupプロパティの指令を修正すれば、元の状態に戻ります。