转战C++

 

环境:C++ Builder 2009, Devexpress v42

使用情况:MDI的exe调用使用了Skin的dll,程序跑不起来,提示:xxx.exe raised exception class EInvalidCast with message 'Invalid class typecast'.断点在InitializeSkinInfo的GetColorByName的方法中。

解决办法:建了一个VCL Form Application,发现调用使用了skin的dll没有问题,用Exescope查看VCL Form Application的exe时,发现导入了很多Devexpress的lib,如Skin使用到的dxGDIPlusC12.bpl等,而MDI的exe则没有导入这些lib。

打开MDI的Project的Property, packages中,发现果然只导入了rtl;vcl;vclx三个库,把VCL Form Application的加载的库全部拷过来,运行,OK。

 

不知道为什么MDI这里为什么不一样~~~~~~~~~

 

posted on 2009-03-28 13:26  喜欢晒太阳的草  阅读(1066)  评论(0编辑  收藏  举报