> Why is my Component auto adding other units to the uses interface?4个
如果我从IDE中向表单添加TXMLdocument,则会自动添加单元Xml.XMLDoc,Xml.xmldom,Xml.XMlintf,Xml.Win.msxmldom(在保存/编译时),IDE如何知道添加这些单元.我理解为什么/如何添加XMLDoc(它包含TXMLdocument),但其他人呢.
另外,如果我将DOMvendor从MSXML更改为ADOM XML v4,则会自动添加Xml.aDomXMLdom(在下一次编译时).此时我可以删除Xml.Win.msxmldom,而不会自动添加回来. IDE如何根据组件属性了解这一点?
我有两个理由提出这个问题,首先是好奇心,但其次我正在清理大量单位(数百个)的使用部分.该项目使用DevExpress,它增加了大量额外的文件 – 例如添加一个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;总结
以上是内存溢出为你收集整理的将组件添加到表单时,如何自动添加Delphi单元?全部内容,希望文章能够帮你解决将组件添加到表单时,如何自动添加Delphi单元?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)