Problem with compilation of latest VCL version in XE2
Posted: Tue Jul 03, 2012 8:29 am
Hello,
I have a big project using lots of differrent components.
The whole project is built totally from sources on a build PC using the Delphi command line compiler.
Lately with XE2 and the latest TChart version I run into trouble when compiling from sources even in the IDE.
First if you add the source path of the TChart sources to the project it will not compile.
The first error message is:
[DCC Fatal Error] VCLTee.TeeComma.pas(44): F1026 File not found: 'TeCanvas.dcu'
So what I did is I went to the Project Options => Unit scope names and added "VCLTee"
Then the project compiles fine. BUT the resulting executable crashes immediately on startup for example when a
TGDIPlus component is active
Message : Access violation at address 00000000. Read of address 00000000.
Call Stack Information:
-----------------------------------------------------------------------------------------------
|Address |Module |Unit |Class |Procedure/Method |Line |
-----------------------------------------------------------------------------------------------
|Running Thread: ID=6960; Priority=0; Class=; [Main] |
|---------------------------------------------------------------------------------------------|
|773C25C9|ntdll.dll | | |RtlReleaseSRWLockShared | |
|773A012E|ntdll.dll | | |KiUserExceptionDispatcher| |
|00707542|Project1.exe|VCLTee.GDIPAPI.pas |TGdiplusBase |NewInstance |6683[1] |
|0071A711|Project1.exe|VCLTee.GDIPOBJ.pas |TGPPen |Create |2999[0] |
|005DFD99|Project1.exe|VCLTee.TeCanvas.pas |TCanvas3D |Create |5222[1] |
|005DFD7C|Project1.exe|VCLTee.TeCanvas.pas |TCanvas3D |Create |5221[0] |
|005E1329|Project1.exe|VCLTee.TeCanvas.pas |TTeeCanvas3D |Create |5965[1] |
|0071A704|Project1.exe|VCLTee.GDIPOBJ.pas |TGPPen |Create |2999[0] |
|007263E6|Project1.exe|VCLTee.TeeGDIPlus.pas|TGDIPlusCanvas|Create |337[24] |
|00726398|Project1.exe|VCLTee.TeeGDIPlus.pas|TGDIPlusCanvas|Create |313[0] |
|0072B2A6|Project1.exe|VCLTee.TeeGDIPlus.pas|TTeeGDIPlus |Activate |2489[4] |
|0072B280|Project1.exe|VCLTee.TeeGDIPlus.pas|TTeeGDIPlus |Activate |2485[0] |
|0072B4FA|Project1.exe|VCLTee.TeeGDIPlus.pas|TTeeGDIPlus |SetTeePanel |2575[20]|
|00861B59|Project1.exe|Project1.dpr | | |13[3] |
This is just a very simple example project containing 4 items:
TForm1 = class(TForm)
TeeCommander1: TTeeCommander;
Chart1: TChart;
Series1: TPieSeries;
TeeGDIPlus1: TTeeGDIPlus;
private.
Do I miss a certain compiler directive or setting when I compile the TChart sources with the XE2 compiler?
Unfortunately I can't follow/see what you are doing in the TeeRecompile tool.
best regards,
X-Ray
I have a big project using lots of differrent components.
The whole project is built totally from sources on a build PC using the Delphi command line compiler.
Lately with XE2 and the latest TChart version I run into trouble when compiling from sources even in the IDE.
First if you add the source path of the TChart sources to the project it will not compile.
The first error message is:
[DCC Fatal Error] VCLTee.TeeComma.pas(44): F1026 File not found: 'TeCanvas.dcu'
So what I did is I went to the Project Options => Unit scope names and added "VCLTee"
Then the project compiles fine. BUT the resulting executable crashes immediately on startup for example when a
TGDIPlus component is active
Message : Access violation at address 00000000. Read of address 00000000.
Call Stack Information:
-----------------------------------------------------------------------------------------------
|Address |Module |Unit |Class |Procedure/Method |Line |
-----------------------------------------------------------------------------------------------
|Running Thread: ID=6960; Priority=0; Class=; [Main] |
|---------------------------------------------------------------------------------------------|
|773C25C9|ntdll.dll | | |RtlReleaseSRWLockShared | |
|773A012E|ntdll.dll | | |KiUserExceptionDispatcher| |
|00707542|Project1.exe|VCLTee.GDIPAPI.pas |TGdiplusBase |NewInstance |6683[1] |
|0071A711|Project1.exe|VCLTee.GDIPOBJ.pas |TGPPen |Create |2999[0] |
|005DFD99|Project1.exe|VCLTee.TeCanvas.pas |TCanvas3D |Create |5222[1] |
|005DFD7C|Project1.exe|VCLTee.TeCanvas.pas |TCanvas3D |Create |5221[0] |
|005E1329|Project1.exe|VCLTee.TeCanvas.pas |TTeeCanvas3D |Create |5965[1] |
|0071A704|Project1.exe|VCLTee.GDIPOBJ.pas |TGPPen |Create |2999[0] |
|007263E6|Project1.exe|VCLTee.TeeGDIPlus.pas|TGDIPlusCanvas|Create |337[24] |
|00726398|Project1.exe|VCLTee.TeeGDIPlus.pas|TGDIPlusCanvas|Create |313[0] |
|0072B2A6|Project1.exe|VCLTee.TeeGDIPlus.pas|TTeeGDIPlus |Activate |2489[4] |
|0072B280|Project1.exe|VCLTee.TeeGDIPlus.pas|TTeeGDIPlus |Activate |2485[0] |
|0072B4FA|Project1.exe|VCLTee.TeeGDIPlus.pas|TTeeGDIPlus |SetTeePanel |2575[20]|
|00861B59|Project1.exe|Project1.dpr | | |13[3] |
This is just a very simple example project containing 4 items:
TForm1 = class(TForm)
TeeCommander1: TTeeCommander;
Chart1: TChart;
Series1: TPieSeries;
TeeGDIPlus1: TTeeGDIPlus;
private.
Do I miss a certain compiler directive or setting when I compile the TChart sources with the XE2 compiler?
Unfortunately I can't follow/see what you are doing in the TeeRecompile tool.
best regards,
X-Ray