Hi,
I find that was due to Crystal Report VCL cannot be used in multi-threaded application, if you go through CRDynamic.pas you will find:
{ Set openEngineType to PE_OE_MULTI_THREADED if user calls CRPE from }
{ a multi-threaded application. Once CRPE starts up in multi-threaded }
{ mode with PEOpenEngineEx, user should call PEOpenEngine or }
{ PEOpenEngineEx to initialize CRPE for every thread that makes CRPE }
{ API calls. }
{ }
{ Using PEOpenEngine () to start up CRPE, by default CRPE is in }
{ single-threaded mode. }
However, in implementation part of PEOpenEngineEx, you will find:
{------------------------------------------------------------------------------}
{ PEOpenEngineEx function }
{ - Not fully implemented in CRPE yet... }
{------------------------------------------------------------------------------}
So Crystal Report VCL cannot be used under Multi-Threaded Applicaiton!