5
votes

I am here converting some customize delphi component to latest delphi xe5. I already build it in delphi xe5 ide and where desgninf i replaced with designintf and design editor. i also include designide.dcp in reference . it build and install sucessfully . but there some packages while i try to use and complie error like designinf.dcu not found come .

i study on internet for solution as after delphi 6 their delphi not redistributed their design time packges. but because it in delphi 5 and complex one i can invest time on dividing design and runtime code and test it.

kindly any alternative solution.

thanks abhishek mestri

3
I think we need more detail. Also, please don't tag the question with irrelevant tags. I cannot see xe2 or xe in the question. Should be delphi-xe5 - David Heffernan
i used xe or xe2 tag as this is common problem for those who using old component and want to migrate any version from delphi xe to latest one they are facing. please any solution or direction suggest - Abhishek Mestri
I was going to suggest designide.dcp but you already mentioned it. One thought is if you are mixing designtime and runtime units you could run into trouble and may get errors like this. - user1175743
You are using xe5 and should tag it so. Yes, mixing runtime and designtime is a likely cause. But we don't have enough detail to say much more. - David Heffernan
If you want help, you'll make a simple example to show us what your scenario is. - David Heffernan

3 Answers

9
votes

For anyone that's having difficulty linking DesignIntf and/or DesignEditors, try adding designide.dcp to the package's Requires folder. For example, the dcp for XE3 can be found in:

C:\Program Files (x86)\Embarcadero\RAD Studio\10.0\lib\win32\release
2
votes

Such errors often happen if you take very old (Delphi 6 or before) component code and try to compile it in a newer compiler.

The unit designintf.dcu and some other units are only available to packages that link with the IDE, i.e. only for design time code. In older versions of Delphi, you would get the source code, but not anymore, because the packages in which these units are are not redistributable, they are exclusively meant for the IDE.

So at the time of Delphi 6 and 7, youw were warned to separate code that would be used at runtime and code that could only be used at designtime, by the IDE. The old component you are using did not do that, yet.

So try to find out which code actually requires designintf.dcu, move that code to a separate unit, and make it use the original unit. The original unit is now the runtime code, can be used everywhere, and doesn't need designintf.dcu. The other unit is the designtime unit and should only be linked into the package used to install the component in the IDE.

More info: Delphi FAQ

0
votes

I already build it in delphi xe5 ide and where desgninf i replaced with designintf and design editor.

but there some packages while i try to use and complie error like designinf.dcu not found come

Based on your limited description, it seems to me that some of your packages might still expect to find designinf.pas file which you renamed to designintf.pas.

So I would go recheck all of the packages which don't compile so that they try to include the correct file and not the one which no longer exists.