Mega Code Archive

 
Categories / Delphi / Examples
 

Dsgnintf dcu not found [delphi 2 - 5]

Question: My component uses the toolsapi unit DsgnIntf and when I compile an application that uses this component, I get an error message ?DsgnIntf.dcu not found?. Answer: You have to modify the design of your component. If it is not your own component, and you do not have source / time to modify it, then you can help yourself by adding \Delphi\Source\ToolsAPI to the library search path. The better way ? which Borland expects component developers to choose ? is the following: In your component separate out the design-time code into a separate unit. At the bare minimum, this will be the code that actually registers the component on the palette, but would also include any other design-time stuff such as property or component editors. You then need to make a run-time only package that contains what is left after taking out the design time stuff. Compile this first and this will produce a .DCP file A good tip here is to set Delphi to direct all DCP and BPL files to one folder. Then you can make the design-time package. This will refer to the run-time code by having the DCP that you have just made in the Requires section and will have the design-time unit that you made earlier in the Contains section. Compile and Install this package, and hopefully your Component will appear on the palette. Once you have successfully done this, you should be able to compile any application that uses your component without the DSGNINTF.DCU message appearing. This is because your app will only have the reference to MyComponent.pas. For further information, please also look at Steve Trefethen's WebSite. Download his free Compiler Message Helper.