This question already has an answer here:
How add Delphi XE2 64bit support to a simple Delphi XE2 32bit VCL component?
(1 answer)
Closed 9 years ago.
Has anyone successfully build a custom component in Firemonkey using designide.dcp for a 64 bit OS?
I am trying to add a design editor to a custom component. I followed the tutorial on http://docwiki.embarcadero.com/RADStudio/XE3/en/Creating_a_Component_Editor_and_a_Property_Editor_for_FireMonkey_Components.
This works just fine when compiling to 32 bit, but I get the following error for 64 bit :
[dcc64 Fatal Error] ComponentEditor.pas(10): E2213 Bad packaged unit format: c:\program files (x86)\embarcadero\rad studio\11.0\lib\win32\release\designide.dcp.DesignEditors - Expected version: 25.0, Windows Unicode(x64) Found version: 25.0, Windows Unicode(x86)
Looking at the path this makes sense as the file refer to lib\win32. However, under lib\win64 there is no such file.
I've been trying to find a solution on the internet without any luck. It does not look like many people have tried this yet.
There is no designide.dcp for 64 bit. The IDE (and therefore all of the design time code) is 32-bit. It can compile 64-bit targets, but the IDE itself (and any components and packages) are 32-bit only.
Related
Actually we have integrated Teechart in our application and it works fine on windows 7 64 bit.
But now we moved to windowss 8 where our application 32 bit works fine with Teechart but 64 bit gives access violation error.
we taught it might be our issue so we build samople application seriesTxt source and tried to execute we found that the Teeeditor is disable and in out code we used it to set legend size that where it crashes.
Can you please execute the sample code in the Example by building in 64 bit and check on wwindows 8 (64 bit) whether it works fine.
Also we found out the issue might be because of casting some variable in DWORD which work in windows 7 but windows 8 required the type casting to be DWORD64 may be some where in your code this can be the issue.
Thanks
Akshay
Note we changed the CLSIDs of the components on TeeChart ActiveX v2014.0.0.2.
However, I'm afraid the demo in the "Examples\Visual C++\Version 6\SeriesTextSource" folder still references the old CLSIDs.
Updating them I could build and run the project without errors in Visual Studio 2010 here, both in 32 and 64bit, in a Windows 8.1 64bit machine.
Find here the corrected project:
http://goo.gl/7Ro3OS
Also check you have both the 32bit and the 64bit versions of the .ocx registered. To register them, open an elevated command prompt at the TeeChart installation path and run:
regsvr32 "TeeChart2014.ocx"
regsvr32 "64bit files\TeeChart201464.ocx"
This question already has answers here:
Designintf.dcu not found in custom component
(3 answers)
Closed 8 years ago.
hi I tried one component code in Delphi 5. and got Error DsgnIntf.Dcu not found.
Actually I was transferring my Code from Delphi 5 to Delphi XE5. In Delphi XE5
while running I got error DesignIntf.dcu not found .
I tried all way replace DesignIntF, Design Editor and all.
I got response that 'Delphi after Delphi 6 not redistributed this Designtime code'.
then at last I Tried it on Delphi 5 for testing . in that version Dsgnintf.dcu
should not come.
I think Not Redistribution but another problem in it. can get direction regards this ?
thanks
abhishek mestri
DsgnIntf.Dcu is a part of ToolsAPI. Now in newer versions of Delphi this file has been replaced by DesignIntf.pas.
Based on information on site below replacing references from DsgnIntf to DesignIntf solves the problem most of the times. But I would not count on this as there were lots of changes from Delphi 5 to Delphi XE5. Here is the link to the site:
http://www.delphifaq.com/faq/delphi/vcl/f266.shtml
EDIT: ToolsAPI by default wasn't available in Personal editions of Delphi. This unfortunately mean that for those of you who own Personal edition of Delphi my answer won't help.
Newer versions of Delphi use Open Tools API which are available in all Delphi editions so there is no more restriction for you to own athleast Proffesional Edition to use it. I'm not sure in which Delphi version was this change made.
I have developed a Delphi application (XE4) on a Windows XP machine.
When I copy all the project files to a Win 7 machine (also Delphi XE4) it will not compile.
The source has uses Vcl.Grids and the compiler complains it can't find vcl.grids.dcu.
Changing to uses grids works but I don't want to edit all the source.
I've checked the Embarcadero website for information on Namespaces but couldn't find anything useful.
I know it's possible to say uses vcl.grids under Win 7 so there must be some setting somewhere in the project that is preventing the resolution.
I've tried deleting the dproj files but that had no effect.
How do I get the source to compile with minimal changes?
The error has nothing to do with OS. It means your IDE/Projects's search paths are not configured correctly, or your project is missing references to the relevant packages, so double check that.
Also, you can use uses Grids in the code, and then make sure Vcl is listed in the Unit scope names field in the Project Options.
The information that you describe seems to be erroneous. The compiler is not affected by the operating system on which it runs. Running the same compiler on the same source code on a different operating system does not result in compiler errors.
Here are the reasonable explanations for your problem:
You are compiling the code on different versions of the compiler. Your error message matches what happens when you compile modern namespace aware code on XE or earlier.
Your are not compiling the same source code on both machines.
It is extremely hard to see beyond these two explanations.
Ok, red face time. Turns out I was running an earlier version of Delphi on the Win 7 machine. Delphi XE4 was installed along with an earlier version and I was invoking the earlier version.
Once I actually brought up XE4 on the Win 7 machine the issue vanished.
So I will don a hair shirt and crawl under my rock.
Thanks everyone who contributed.
This question already has answers here:
Closed 10 years ago.
Possible Duplicate:
Delphi XE - F1027 Unit not found: 'System.pas' or binary equivalents (.dcu) upon Activation of trial version
I had to format myu win7 machine so i reinstalled Delphi XE2 from scratch (Embarcadero® RAD Studio XE2 Version 16.0.4429.46931 ).
After installing it I installed all my third party components (some of them were not for Update 4, like SDAC from Devart, I had v 6.1).
Now if I do a new VCL Forms application and build it (so no logic, just an empty form) I have:
[DCC Fatal Error] Project1.dpr(1): F1027 Unit not found: 'System.pas' or binary equivalents `(.dcu)`
My first thought is uninstall all and reinstall, but do you have a clue?
Where should I start from?
Thanks.
1) Tools / Options / Environment / Delphi / Library - check correct paths
2) sysinternals Process Monitor, filter file accesses, filter by path cotaining "system." - look in which folders dcc tries to get that file instead of correct path
First of all, I have never written a property editor from scratch, but had some help with one in another question. Refer to the accepted answer there. This was in Delphi 7, and now I have started using XE2 and I have to make sure my property editor is compatible with both 7 and XE2.
It's essentially a collection editor, with the difference that each collection item has its own named component in the parent form. Is there anything new about the property editors in XE2 since 7, since it is a huge version jump?
I do NOT want to make a complete copy of my unit for different versions. I want to maintain all possible versions in one unit.
Edit
It appears that Delphi XE2 has the same property editors as Delphi 7, but the issue I was facing was that although I was including DesignIDE in my package, it could not find anything, so I had to add the ToolsAPI folder to my library path.
However, now I have a new issue after this.
[DCC Fatal Error] ToolsAPI.pas(18): F1026 File not found: 'DockForm.dcu'
I'm lost in the whole concept of BPL packages and requiring others, etc.
DesignIntf, DesignEditors, DesignMenus, DesignWindows are part of DesignIDE.bpl and is found in \Embarcadero\RAD_Studio\9.0\lib\win32\release\designide.dcp. But there is no designide.dcp for 64bit which is why it throws an error when compiling a 64bit package that references these units.
There is no 64bit version of DesignIDE because it is for a design time package and design time packages are 32 bit only (remember Delphi IDE is still only 32 bits). So always set your design time package as 32bit, not 64bit. :)
Mike
The DockForm.pas source code is available neither in Delphi XE nor in Delphi XE2.
You may try this accepted answer posted on SO applying to similar issue on Delphi 2010.
Presumably, it is compiled and included within some package already distributed with Delphi XE2.