AnsiString 对象的char*指针竟然被释放,怪事啦!
我们的程序中,今天我调试程序的时候发现了一个怪现象,AnsiString的对象中char * 的内存竟然被释放,
源程序:
strTemp += strTemp2;
程序运行到这了提示 非法操作,然后查看此时的strTemp char *指针,显示 ????
各位大侠们遇到过没,我头一次遇到 。。。
现在的程序连AnsiString等系统VCL类中的内存都要出错,太奇怪了
[解决办法]
“然后查看此时的strTemp char *指针,显示 ????”
什么意思?
你的strTemp strTemp2 分别是什么类型的?
[解决办法]
你CB是什么版本的?
“程序运行到这了提示 非法操作,”
出什么错?
提出具体的代码看看
[解决办法]
如果字符串太長,可能導致內存分配失敗。
[解决办法]
strTemp += strTemp2;一般不会出现问题,有可能的话如PPower说的那样,是你的字符串Length()超过缓冲区长度了!