如果我TXMLDocument
从IDE 添加表单,Xml.XMLDoc, Xml.xmldom, Xml.XMLIntf, Xml.Win.msxmldom
则会自动添加单元(在保存/编译时),IDE如何知道添加这些单元.我理解为什么/如何XMLDoc
添加(它包含TXMLDocument
),但其他人呢.
另外,如果我将DOMVendor从MSXML更改为ADOM XML v4,Xml.adomxmldom
则会自动添加(在下一次编译时).此时我可以删除Xml.Win.msxmldom
而不会自动添加回来.IDE如何根据组件属性了解这一点?
我有两个理由提出这个问题,首先是好奇心,但其次我正在清理大量单位(数百个)的使用部分.该项目使用DevExpress,并为使用添加了大量额外文件 - 例如添加a TcxSpinEdit
然后cxSpinEdit, cxGraphics, cxControls, cxLookAndFeels, cxLookAndFeelPainters, cxContainer, cxEdit, cxTextEdit, cxMaskEdit
添加.我想最小化使用条款,其中控件已从表单中删除(但它们的单位仍然在使用中),因此需要了解更好地添加它们的过程.
组件可以安排他们在设计器中的存在强制将特定单元添加到单元的uses子句中.他们通过调用RegisterSelectionEditor
注册TSelectionEditor
子类来实现这一目的.这些子类覆盖TSelectionEditor.RequiresUnits
并指定必须添加的单元.
例如:
uses DesignEditors; .... type TMySelectionEditor = class(TSelectionEditor) public procedure RequiresUnits(Proc: TGetStrProc); override; end; procedure TMySelectionEditor.RequiresUnits(Proc: TGetStrProc); begin Proc('MyUnit'); end; procedure Register; begin RegisterSelectionEditor(TMyComponent, TMySelectionEditor); end;