Delphiのフォーマッタ(コードの整形)でDataMoudleが壊れる

TDataMoudleにはClassGroupプロパティがあります。
このプロパティで、データモジュールがVCL用かFMX用かフレームワークに依存しないかを設定します。

たとえばTTimerコンポーネントはVCL用のVcl.ExtCtrls.TTimerとFMX用のFMX.Types.TTimerがあります。
使用するコンポーネントとClassGroupで設定したフレームワークを一致させる必要があります。

formatter01

オブジェクトインスペクタでClassGroupプロパティを設定すると、ユニットファイルには次のような指令が追加されます。

ClassGroupがFMX.Controls.TControlの場合:

{%CLASSGROUP 'FMX.Controls.TControl'}

フォーマッタのコメントスペースの設定の「{ および (* コメントスペースの設定」は初期値が「内側と外側」になっています。
この設定でコードを整形すると、ClassGroupプロパティによって追加された指令が次のようになります。

{ %CLASSGROUP 'FMX.Controls.TControl' }

「{」「}」の間に空白が追加されました。

このように空白が追加されると、ClassGroupプロパティの値は未設定の状態になります。

ClassGroupプロパティの値が設定されていない状態になると、コンポーネントとフレームワークに不一致が生じます。
その結果、IDEでデータモジュールを読み込むときにエラーが発生します。

エラーが発生した場合は、ClassGroupプロパティの指令を修正すれば、元の状態に戻ります。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください