BGridEh,同时也用了DBGrid。在OnDrawColmnCell事件中调用DefaultDrawColumnCell,编译时却提示Incom

项目中用了DBGridEh,同时也用了DBGrid。在OnDrawColmnCell事件中调用DefaultDrawColumnCell,编译时却提示Incompatible types错误。
其实问题很简单,就是因为DBGridEh在GridsEh单元中重新定义了TGridDrawState类型(当然与DBGrid的不同),而类型名却没有改,很明显编译器编译时首先找到的是Grids单元中定义的TGridDrawState,与它做判断当然会出现Incompatible types错误了。
解决办法:调用时加上引用单元名。即DefaultDrawColumnCell( Rect, DataCol, Column, GridsEh.TGridDrawState(State));
前面的uses加上 DBGridEh,GridsEh;这个要看情况定
出现错误的地方加上对State的强制类型转换
 
GridsEh.TGridDrawState(State);
Grids.TGridDrawState(State);
 
来源: http://blog.csdn.net/cinway/article/details/17406571

posted @ 2020-09-25 09:51  绿水青山777  阅读(231)  评论(0编辑  收藏  举报