CODEGUARD检测错误 Method called on illegally casted object
我今天也遇到了这个问题
我现在使用CB6做开发,使用ADO,在打开连接(Open)的时候(我使用了CODEGUARD检测),CODEGUARD检测出一个错误,错误的原文如下:
Method called on illegally casted object
Attempt to access 224 byte(s) at 0x013BE948.The 'this' pointers to heap block 0x013BE948 which is only 220 bytes long
它的意思好像是this指针位数不对,一般情况下this指针是编译器给的,但我想问题不在编译器这边,我以为pas文件和hpp文件不对应(版本),我重新编译了一下pas文件,并覆盖了原来的文件,发现问题依旧, 虽然问题不大,关闭检测就没事,但是从客观上来讲,这确实是个问题,而且可能是我以前从没有碰到或学习到的知识(注意点),我知道李维先生对borland系列的开发工具以及内核都是很熟悉,不知道李维先生能不能对这个问题解释一下,谢谢
原贴好像无解
http://vclxx.org/forum/index.php?PHPSESSID=f67ep581qa7lnetrf449mn68a0&topic=2526.0
[解决办法]
是不是你有的地方用了强制转换了.一般情况下不用打开CODEGUARD编译.
cb本身对出现错误的代码定位挺准的.
[解决办法]
这方面的问题有时不好说,