循环运行完这句之后SetLength(sRet, pData.iDataLen - (SHEAD_LEN + 1) + 2);内存溢出了 循环运行完这句之后SetLength(sRet, pData.iDataLen - (SHEAD_LEN + 1) + 2);内存溢出了这是怎么回事啊?用setlength的不用释放的吧?可是我就溢出了呢,怎么办呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 SetLength()用来分配动态数组类型的空间,本质上和new(XXX)和XXX:=TXXX.create一样,因此用完后也需要手工释放。释放也用SetLength,只不过后面的长度参数要设成0。 我断点运行了,sret是string型的变量,前面都不会出错,到上面那两句就出问题了,我也按一楼那位说的setlength(sret,0)了,可是不知道怎么了还是不行,,,,string型的不是也可以用setlength来设置长度的吗? string类型是可以那样用,不过建议还是用array of char,如果用setlength的话string的类型相当于ShortString最多只能存储256个字符,如果超过这个数可能就要报错了,动态数组用完要释放的。 主程序调用DLL窗体 cannot assign a TFont to a TFont 问题的彻底解决方案 求购比较完善的DELPHI的网络验证注册冲值系统 抢答题:有一个字符串“55.28”,我想把它变成double型的,该如何用函数转换呢做呢。 如何读取出MP3文件的信息? 如何实现用包插件功能? voc点歌系统 EHLIB中怎样设置某一列为下拉表格 一个任务管理器的问题 谁能告诉我将字符“A”的ASCII转换出来的函数? 如何让线程暂停30秒,然后运行? 网上下载的businessskinform,能不能用在商业软件上? delphi三层结构如何设计?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货