What is dxGDIPlusClasses.dcu ? (Delphi) - delphi

A few month a go i wrote a program, now when i try to compile it i receive this error :
[DCC Fatal Error] PVCM.dpr(7): F1026
File not found: 'dxGDIPlusClasses.dcu'
I don't know which component I've used .

That is a Devexpress component for GDI+. Devexpress units invariably have cx or dx prefixes.

It sounds like a DevExpress component.

I just encountered this problem right now !!!
Go to the unit that generates the error. Look at the top of its source code.
You will find under Uses a unit called: dxGDIPlusClasses. Remove it and you should be fine.
Hint: Next time when you remove a set of components. You have to update the USES block in your previous projects or at least, give'em a double check.

Related

Components not found in Delphi 10

Good day!
I have a project written in Delphi7. It has some components which are working: alglib, apdcomport, OpenCV, GLScene, SkinForm.
Now I should build this project in Delphi 10. But I couldn't add these component. I think thats why so many errors occuring. How I can add these component is there some advice...
Errors:
Unit 'spline1d' not found;
Cannot resolve unit name 'GLScene'...;
Cannot resolve unit name 'GLMisc'...;
and so on...

How can I have a Delphi XE2 project without unit aliasses?

I'd like to compile my XE2 project without unit aliasses but can't get it to work.
I tried the following:
<DCC_UnitAlias /> in the *.dproj
<DCC_UnitAlias>$(DCC_UnitAlias)</DCC_UnitAlias>
<DCC_UnitAlias>;$(DCC_UnitAlias)</DCC_UnitAlias>
No DCC_UnitAlias entry in the *.dproj
These either result in a compiler error
[DCC Fataler Fehler] F1030 Ungültige Compileranweisung: '-A;Generics.Collections=System.Generics.Collections;...
(which translates to something like [DCC Fatal error] F1030 Invalid compiler directive: '-A;Generics.Collections=System.Generics.Collections;...)
or the inclusion of some default aliasses:
-AGenerics.Collections=System.Generics.Collections;Generics.Defaults=System.Generics.Defaults;WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE
I know this is not a big issue but it somehow annoys me. :-)
FWIW: <DCC_UnitAlias /> works in D2007.
Under Delphi 10.1, it looks like the default unit aliases are added unconditionnally in the file $(BDS)\Bin\CodeGear.Common.Targets. I assume it is similar in XE2 but don't have it installed to check.
<UnitAliases>Generics.Collections=System.Generics.Collections;Generics.Defaults=System.Generics.Defaults;WinTypes=Winapi.Windows;WinProcs=Winapi.Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE</UnitAliases>
<UnitAliases Condition="'$(DCC_UnitAlias)'!=''">$(DCC_UnitAlias)$(UnitAliases)</UnitAliases>
Removing the first UnitAliases tag should let you specify your defaults more accurately, on a per project basis. Beware of the "DO NOT MODIFY" warning at the top of this file, though.

jcvl not working due to jcl requirements

I am trying to manually install JCL and jvcl for delphi xe2.
I have installed JCL as directed and it seems to have installed with no issues.
Now I try to load the JVCL package 16 , it opens delphi and starts to load libarys, When it gets to the Jedi code Library MPL1.1 i start to get errors like below
Error reading form frmJucolorProviderDesigner
-class tjvcontextprovider not found
Ingnore Cancel Ingnore all
this is not the only one i get quite a few ill post a few more in case it helps
Error reading form JvStandardActions
-tjvSendMailAction not found
-tjvwebaction not found
Error reading form jvCheckItemsEditor
-tjvCheckListBox not found
Error reading form JvControlActoinsDM
-tjvControlcollapseAction not found
-TjvControlexpandAction not found
-TjvControlExportAction not found
-tjvControlOptimizeColumnsAction not found
-TjvControlCustomizeColumnsAction not found
-TjvControlPrintAction not found
Error reading form jvSpeedBarEditorMain
-jvFormStorage not found
-AppRegistryStorage not found
ect... I can add rest if you need.
But each - is its own dialog box with [ignore][cancel][ignore all]
Now after I press Ignore 50 times it will finally load the project, when i try to build all the projects for JVCl package it says required package jcl not found.
in library path i have
..jcl\source\common
..jcl\source\windows
..jcl\source\include
in browsing path i have
..jcl\source\common
..jcl\source\vcl
..jcl\source\windows
and in DCU debug path i have
..jcl\lib\d16\win32\debug
after adding
..jcl\lib\d16\win32, which contains the 32 bit jcl.dcp
The solution is to change the uses to use a fully qualified name:
uses
TypInfo,
{$IFDEF JvInterpreter_OLEAUTO}
OleConst, ActiveX,
{$IFDEF VER230} system.win.ComObj, {$ELSE} ComObj, {$ENDIF}
Now it compiles without error.
Try to add the following to your Search Path(HKCU\Software\Embarcadero\BDS\x.x\Library\Win32), of course including the correct path prefix:
..jcl\source;
..jcl\source\common;
..jcl\source\include;
..jcl\source\vcl;
..jcl\source\windows;
..jvcl\common;
..jvcl\run;
You might also be interested in the following link:
http://andy.jgknet.de/blog/2013/05/how-to-install-jcl-and-jvcl-for-xe4/

RLINK32: Error opening file "...\Data.DFM". Occurs the first time I build a project after opening Delphi

I get this error the first time I build/compile a particular project after opening Delphi (D6 Pro). Subsequent builds do not give the error.
I have the same issue, it was fixed by replacing {$R *.dfm} directive in the problem unit (which was not found by Delphi during first compilation) by more specific clause {$R fMain.dfm}.
The error can be caused by an exception being raised in a design component on the form. If the component is running some initialisation code which raises an exception this error will be produced. This can be shown by adding
raise Exception.CreateFmt('Test', []);
into the code of the component. Note that in D6 Pro this does not produce 'Test' in the error message. The underlying exception message is not displayed.
This is probably caused by a control that raises an exception during its creation (when the form is loaded).
How I solved this (this case was specific for me, but a very similar solution may apply to you):
First I loaded the 'broken' unit into the IDE. It didn't caused an error until I pressed F12 to see the form. The error message raised by the IDE was not very helpful, but after changing the {$R *.dfm} to {$R MainForm.dfm}, the error message changed to something more specific. More exactly, in the error report, one line was of special interest:
{MyControls_XE.bpl} StrGrdBase.TBaseStrGrid.FixCursor (Line 569, "StrGrdBase.pas" + 9) + $8
I navigated to that line and I have seen that in some conditions I was trying to set focus on the second row, while the grid had only one row.
I also got the same error on Deplhi 2010, the problem was there was a component which has not been installed in IDE, when I changed the component to the one that exists it is worked as a charm.
I've found an additional reason for this behaviour: DFM files are rejected if a property is placed below any child objects owned by the main object. In other words, a TButton object should be defined below the last property of the TPanel object that the button is placed on. Tested with D2010, compiling with bcc32

How can I resolve this error in Delphi 2010: "[DCC Error] E2223 $DENYPACKAGEUNIT 'OleAuto' cannot be put into a package"?

I am converting a component package from Delphi 2007 to Delphi 2010.
When I do a full build, it compiles and begins to link. During linking, I get two messages:
[DCC Warning] MyPackage.dpk(235): W1033 Unit 'OleAuto' implicitly imported into package 'MyPackage'
[DCC Error] E2223 $DENYPACKAGEUNIT 'OleAuto' cannot be put into a package
What determines the units in $DENYPACKAGEUNIT? How should I resolve this error?
I found this inside the OleAuto.pas unit, which pretty much answers my question.
unit OleAuto deprecated;
{$DENYPACKAGEUNIT}
{ OleAuto cannot be used in a package DLL. To implement
an OLE automation server in a package, use the new
OLE automation support in comobj and comserv.
}
I found that someone had placed a call to MtsObj file, thats what seemed be to causing my issue.

Resources