ExpressQuantumGrid在BDS中编译时产生错误的解决办法

Borland Develoer Studio 已经发布1年多了,一直没机会用它,最近一个项目升级,由于使用了ExpressQuantumGrid 5控件,需要在BDS中重新编译安装,一路正常,但到cxGridC10这个工程时,编译到最后时出现错误 :[Pascal Fatal Error] cxGridCustomView.pas(7970): F2084 Internal Error: DBG1695
但看代码中又没有什么语法错误,Google上搜索一番没有找到很多结果,但其中有一个英文帖子也是这种情况,解决办法大致的意思是把Pascal 编译器(DCC32.EXE)的编译参数改为-JPHNE -Q -W -H -$D- -$L- -$Y-,这和BDS默认设置有很大不同,后来经过测试,实际上只需在默认参数上增加一个-$D-即可,操作方法:

在Project->Options - Pascal Compiler->Other Options中的Compiler directives加上一个 D-(需有空格),或者直接在Additional options里加上-$D-,重新编译工程即可。

另外在不少其他工程中还有很多警告和提示,一般都不会有影响。比如有些编译器的选项,在升级为BDS的工程后这些选项都会自动修正,还有下面这种警告
[C++ Warning] ??????.cpp(27): W8057 Parameter 'hinst' is never used
[C++ Warning] ??????.cpp(27): W8057 Parameter 'reason' is never used
这是工程CPP文件中的问题,比如:
#pragma package(smart_init) //这句其实应该为#pragma argsused,表示函数忽略参数检查
//---------------------------------------------------------------------------
//   Package source.
//---------------------------------------------------------------------------
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void*)
{
        return 1;
}
不过这个警告也可以忽略。

你可能感兴趣的:(C++,pascal,compiler,编译器,Borland,winapi)