あるパッケージで定義された多数のDelphiコンポーネントを、別のパッケージの同様のコンポーネントに変更する必要があります。 DFMファイルのテキスト(コンポーネントタイプとプロパティ)をテキストに置き換えることで、多くの面倒な作業を行うことができます。Delphi DFMファイルの奇妙な数[起源と必要性]
私はDFMの「機能」に出くわしのStackOverflowやGoogleを検索しましたし、今http://www.felix-colibri.com/papers/colibri_utilities/dfm_parser/dfm_parser.html
からフェリックスコリブリDFMパーサを適応していますが、パーサは上のチョークというファイル:[番号]の型仕様の後このように:これらDFMSの
inherited DialoogEditAgenda: TDialoogEditAgenda
ActiveControl = PlanCalendar
Caption = 'Agenda'
[snip]
inherited PanelButtons: TRzPanel
Top = 537
[snip]
inherited ButtonCancel: TRzBitBtn [0] <== *here*
Left = 852
[snip]
end
object CheckBoxBeschikbaarheid: TRzCheckBox [1] <== *here*
Left = 8
[snip]
end
inherited ButtonOK: TRzBitBtn [2] <== *here*
Left = 900
[snip]
end
end
inherited PageControl: TRzPageControl
Left = 444
[snip]
end
object PanelBeschikbaarheid: TRzSizePanel [2] <== *here*
Left = 967
[snip]
end
object PanelScheduler: TRzPanel [3] <== *here*
Left = 23
Top = 22
[...]
多くは重く継承されます(私はすでにそのためのコリブリのコードを適応しなければならなかった)が、相続の小さなテストアプリケーションはDFMで[番号] Sを生成することができませんでした。
パーサコードを拡張する前に私の質問:これらの[番号]がどこにあるのか知っていますか?その結果、DFMファイルを解析する前に削除することはできますか?
おかげ
月
作成順序はdfmファイルの出現順によって決まるため、削除のプロセスでは、これらはzオーダーを指定する必要があります –
私は[短編YouTubeビデオ](http://youtu.be/ _DLbTpIujYQ)この質問に対する質問と回答の両方が本当に明確になることは、hvdの回答に本当に追加する唯一の点は、フォームだけでなくフォームにも当てはまるということです。 – Alister