Delphi 自带的JSON内存释放问题 [问题点数:50分,结帖人helodd]

Bbs6
本版专家分:7177
结帖率 98.48%
Bbs6
本版专家分:7177
Bbs6
本版专家分:6023
Bbs4
本版专家分:1751
Bbs6
本版专家分:7177
Bbs6
本版专家分:6023
Bbs9
本版专家分:50585
Blank
红花 2018年11月 Delphi大版内专家分月排行榜第一
2018年5月 Delphi大版内专家分月排行榜第一
2018年2月 Delphi大版内专家分月排行榜第一
2018年1月 Delphi大版内专家分月排行榜第一
2017年12月 Delphi大版内专家分月排行榜第一
2017年8月 Delphi大版内专家分月排行榜第一
2017年7月 Delphi大版内专家分月排行榜第一
2017年5月 Delphi大版内专家分月排行榜第一
2017年3月 Delphi大版内专家分月排行榜第一
2017年2月 Delphi大版内专家分月排行榜第一
2016年12月 Delphi大版内专家分月排行榜第一
2016年11月 Delphi大版内专家分月排行榜第一
2016年10月 Delphi大版内专家分月排行榜第一
2016年9月 Delphi大版内专家分月排行榜第一
2016年8月 Delphi大版内专家分月排行榜第一
2016年7月 Delphi大版内专家分月排行榜第一
2016年6月 Delphi大版内专家分月排行榜第一
2016年5月 Delphi大版内专家分月排行榜第一
2016年4月 Delphi大版内专家分月排行榜第一
2016年3月 Delphi大版内专家分月排行榜第一
2016年2月 Delphi大版内专家分月排行榜第一
2016年1月 Delphi大版内专家分月排行榜第一
2015年12月 Delphi大版内专家分月排行榜第一
2015年11月 Delphi大版内专家分月排行榜第一
2015年10月 Delphi大版内专家分月排行榜第一
2015年9月 Delphi大版内专家分月排行榜第一
2015年8月 Delphi大版内专家分月排行榜第一
2015年7月 Delphi大版内专家分月排行榜第一
2015年6月 Delphi大版内专家分月排行榜第一
2015年5月 Delphi大版内专家分月排行榜第一
2015年4月 Delphi大版内专家分月排行榜第一
2015年3月 Delphi大版内专家分月排行榜第一
2015年2月 Delphi大版内专家分月排行榜第一
2015年1月 Delphi大版内专家分月排行榜第一
2014年12月 Delphi大版内专家分月排行榜第一
2014年11月 Delphi大版内专家分月排行榜第一
Blank
黄花 2017年11月 Delphi大版内专家分月排行榜第二
2017年4月 Delphi大版内专家分月排行榜第二
2017年1月 Delphi大版内专家分月排行榜第二
2014年10月 Delphi大版内专家分月排行榜第二
2014年9月 Delphi大版内专家分月排行榜第二
Bbs6
本版专家分:7177
关于DELPHI内存释放的疑问!
最近做了一个项目,出现内存不释放的<em>问题</em>,希望大家帮忙!rnrn我先说说现象!rnrn程序正常运行,线程什么的,该关闭也关闭了,但是内存只增不减,但是变态的地方出现了,如果我把窗体最大化一下,或者最小化一下,内存马上就释放掉,如果窗体不动,内存就不释放。原因分析不出来……rnrn还有,我为了弄明白<em>问题</em>,我新建一个项目,什么都不做,直接点运行。发现内存会吃到5M大,如果最小化一下,马上就变成了几百K,然后在最大化一下,发现内存最多占用1M大左右。rnrn当然,我知道我做的项目肯定有<em>问题</em>,但怎么解决呢?我看过很多东西,都释放掉了,怎么还站内存呢?非要窗体刷新下才没么?rnrnrn十分不理解,请高手赐教!!!
delphi自带安装程序的问题
用<em>delphi</em>5安装盘带的制作安装程序的程序,有一个选择项是:是否选择输入SN,当rn选择后,安装时要输入SN,但随便输入一个号码,都可以进行到下一步,如何设置要用户rn输入指定的号码???
DELPHI自带数据库的问题~~~
做了一个表rn中文记录都变成了乱码rn改成英文就好了rn可是其他表就没有这个<em>问题</em>rn是什么原因呢?rn我的字段名是英文rnrn是不是DELPHI里最好字段名都用英文?rn因为以前做过一个表rn用中文字段名rn结果整个表都是乱码~~~
Delphi原生JSON的问题
不知道从哪个版本开始,Delphi开始原生支持JSON,本人没有考证,现在用XE10.1的原生JSON会发现以下<em>问题</em>: 如果是在ActiveX或用于WebSocket Server端的开发,会出现各种异常,而用superobject则一切正常,或许是我的用法不正确? 暂时还是继续用superobject吧
内存释放内存释放内存释放
<em>内存释放</em><em>内存释放</em><em>内存释放</em><em>内存释放</em><em>内存释放</em><em>内存释放</em>
内存释放:Solaris上内存释放问题
在solaris 10 x86_64上malloc内存,操作完free,程序运行过程中,内存一直在涨(通过prstat -a命令查看),同样得程序在windows上运行没有不存在这个<em>问题</em>,所以可以排除内存泄漏得可能。通过查看solaris得<em>内存释放</em>和分配算法,得知当程序调用free时,系统并不直接释放内存页,目的是为了下次程序可能再次访问这些内存页,从而提高系统性能,当系统缓存到一定数量的时候,系统会自动根据算法把这些不用得页真正的释放掉。 rn<em>问题</em>:在不使用其它版本malloc实现得前提下,有没有编译器选项或者其它方法能够使得生成得程序不使用这种机制,即当程序调用free时,系统立即释放内存页?
Delphi内存释放问题,在线急等!!!!!
Timer.Interval := 50;rn在TTimer 的OnTimer事件中rnbeginrn Args.NumDatas := 255;rn GetMem(Args.pDataBlock, Args.NumDatas * sizeof(SDataBlock));rnrn Data := TData.Create;rn FList.Add(Data); rnrnrn finallyrn FreeMem(Args.pColorCodeCCHDataBlock);rn end;rnend;rn不知道为什么我只要加上rn Data := TData.Create;rn FList.Add(Data); rn就会有内存泄露,应用程序的内存使用量不停的增加,而且速度特别快,绝对不止增加一个TData占用的内存。rn而如果我把中间两句改成rn Data := TData.Create;rn Data.Free;rn即把刚申请的<em>内存释放</em>掉,则一切正常。 rnrn不知道哪位老大遇到过这样的<em>问题</em>啊?
请教Delphi高手,关于内存释放问题
有这样一个动态库中的函数rnextern int ReadImgBufferFromBmp(unsigned char **img,char *bmpFile,int *width,int *height);rn返回值:1 ...... 成功rn -1 ...... 失败 rn参数说明:*img ...... 返回图象数据指针(在ReadImgBufferFromBmp内部申请,使用完应在外部释放)rn *width ..... 返回的图象宽度rn *height .... 返回图象高度rn bmpFile .... bmp文件名rn我在Delphi中调用,但是*img在内部所申请的<em>内存释放</em>不掉。rn请问在Delphi中该如何释放?
iOS5 自带json使用
    NSArray *valueArray = [@&quot;val1 val2 val3&quot; componentsSeparatedByString:@&quot; &quot;];       NSMutableDictionary *dict = [NSMutableDictionary dictionary];     for (NSString *each in [@&quot;KeyA KeyB KeyC&quot; ...
内存释放问题
free()内存是怎么实现的?我怎么知道这块内存已经是空闲的了呢
内存释放问题
我在类中的成员函数返回一个TList,如下所示,然后再外面把它释放,可是释放时,老出错。请各位帮我看看。谢谢! rnrntype rn PMesItems = ^TMesItems; rn TMesItems = record rn strItem : string; //²âÁ¿ÏîµÄ±êÌâ rn strID : Integer; //²¡È˵ÄID rn strDateTime :string; //²âÁ¿Ê±¼ä rnend; rnrn//类中的内容 rnfunction TMesContrast.GetMuscleQuantityData: TList; rnvar rn tmpList:TList; rn tmpMesItems MesItems; rnbegin rn try rn tmpList := TList.Create ; rn if(NOt(dmMesContrast.qryFiveTee.Eof) and not(dmMesContrast.qryFiveTee.Bof )) then rn begin rn dmMesContrast.qryFiveTee.First; rn while(not(dmMesContrast.qryFiveTee.Eof)) do rn begin rn new(tmpMesItems); rn tmpMesItems^.strItemTitle := 'MuscleQuantity'; rn tmpMesItems^.strLData := dmMesContrast.qryFiveTee.FieldByName('Lmf').AsString ; rn tmpMesItems^.strRData := dmMesContrast.qryFiveTee.FieldByName('Rmf').AsString ; rn tmpMesItems^.strID := dmMesContrast.qryFiveTee.FieldByName('CaseID').AsString ; rn tmpMesItems^.strDateTime := dmMesContrast.qryFiveTee.FieldByName('MeasureTime').AsString ; rn tmpList.Add(tmpMesItems); rn dmMesContrast.qryFiveTee.Next; rn end; rn dmMesContrast.qryFiveTee.First; rn end; rn result := tmpList; rn except rn Result := nil; rn end; rnend; rnrn//外面的内容,去掉里面分配的内存。 rnprocedure TMainForm.Button1Click(Sender: TObject); rnvar rn objMes :TIMesContrast; rn tmpList:TList; rn tmpItems : PMesItems; rn integer; rn strTmp:string; rnbegin rn strTmp := '1'; rn objMes := TObjMesContrast.Create; rn objMes.SetPatientID(strTmp); rn objMes.SetSQL('select * from mesc30 '); rn tmpList := objMes.GetLegMuscleForceData; rn for i := 0 to tmplist.Count -1 do rn begin rn tmpItems := tmpList.items[i]; rn dispose(tmpItems); rn end; rnrn showmessage(IntToStr(tmpList.Count)); rn objMes.Free ; rn tmpList.Free; rnend; rnrn//说明,我对c++比较在行,c++中可以用new分配内存,在外面释放没有<em>问题</em>。因为new是在堆中分配内存,只要指针存在,就可以释放。在<em>delphi</em>中可以么?如果我想把返回的tlist释放掉,应该怎么做?谢谢。rn如果说是因为返回的是个局部变量,可是我可以得到其中的数据阿。rn
内存释放问题
在程序中使用arraylist放大量数据,在程序运行中有释放(用xx = nothing),实际运行中发现程序占用的内存可以释放,但系统总的占用内存不减少,只有退出程序这部分内存才释放,请问是什么原因?先谢谢了。
内存释放问题.
大家好, 可以告诉我为什么下面的句子第一个会自动释放, 第二个就不会调用析构函数自动释放吗? 也就是第一个为什么不是动态对象? 望各位大侠不吝赐教. 谢谢!rnrnvoid CMyView::OnLButtonDown(UINT nFlags, CPoint point)rnrn CRect rect;rnrn CClientDC dc(this); // constructs dc on the stackrn dc.GetClipBox(rect); // retrieves the clipping rectanglern // dc automatically releasedrnrnvoid CMyView::OnLButtonDown(UINT nFlags, CPoint point)rnrn CRect rect;rnrn CDC* pDC = GetDC(); // a pointer to an internal dcrn pDC->GetClipBox(rect); // retrieves the clipping rectanglern ReleaseDC(pDC); // Don't forget thisrnrn
内存释放问题
[code=c]rnOnPaint()函数中:rnrnCPaintDC dc(this); rn//背景rn CRect rect;rn GetClientRect(&rect);rn CDC dcMem;rn dcMem.CreateCompatibleDC(&dc);rn CBitmap bmpBackground;rn bmpBackground.LoadBitmap(IDB_BITMAP7); //对话框的背景图片rn BITMAP bitmap;rn bmpBackground.GetBitmap(&bitmap);rn CBitmap *pbmpOld = dcMem.SelectObject(&bmpBackground);rn dc.SetStretchBltMode(COLORONCOLOR);rn dc.StretchBlt(0, 0, rect.Width(), rect.Height(), &dcMem, 0, 0, bitmap.bmWidth, bitmap.bmHeight, SRCCOPY);rn rn rn CDC *pDC = this->GetDC();rn rn CPen* pPenRed = new CPen;rn pPenRed->CreatePen(PS_SOLID, 2, RGB(180, 181, 181));rn CGdiObject* pOldPen = pDC->SelectObject(pPenRed);rn[/code]rnrn使用完了,rnpDC->SelectObject(pPenRed);rnReleaseDC(pDC);rndcMem.SelectObject(pbmpOld);//这个对么rn还有内存泄露,大神帮忙看看还有的要怎么写?
内存释放问题?
通过BYTE* temp = new BYTE [ibuffer.GetSize()];rn是否要释放,如何释放!
内存释放问题
程序如下rncout << "------------After 5Seconds start-------------" << endl;rnsleep(5);rncout << "------------create Packet start-------------" << endl;rn list charList;rn for (int i = 0; i<< "------Now create-------" << "------------delete Packet finish-------------" << n << endl;rnrnsleep(20);rncout << "------------exit-------------" << endl;rnrn执行前内存如下rnMem: 1034420k total, 69592k used, 964828k free, 4264k buffersrnSwap: 2031608k total, 56184k used, 1975424k free, 31312k cachedrnrnrn打印完"------------create Packet finish-------------" rn之后内存如下rnMem: 1034420k total, 1011132k used, 23288k free, 188k buffersrnSwap: 2031608k total, 117024k used, 1914584k free, 11960k cachedrnrnrn打印完 "------------delete Packet finish-------------"rn之后内存如下rnMem: 1034420k total, 1018364k used, 16056k free, 92k buffersrnSwap: 2031608k total, 633204k used, 1398404k free, 9544k cachedrnrn可以说内存根本就没被释放掉,不知道为什么,rnrn请高人指点!谢谢!rn
delphi json
一个不错的<em>json</em>类,可对常用的数据进行解释,极力推荐
内存释放问题???】
用Debug检测内存泄露rn大部分都是如下:rnThe thread 0x1370 has exited with code 3 (0x3).rnDetected memory leaks!rnDumping objects ->rnarray_s.cpp(155) : 801 normal block at 0x03152240, 20 bytes long.rn Data: < ! M_ > F4 21 15 03 14 0B 4D 5F CD CD CD CD CD CD CD CD rnstrcore.cpp(118) : 800 normal block at 0x031521E8, 22 bytes long.rn Data: < 38.1> 01 00 00 00 09 00 00 00 09 00 00 00 33 38 2E 31 rnstrcore.cpp(118) : 740 normal block at 0x031519F8, 21 bytes long.rn Data: < Infi> 01 00 00 00 08 00 00 00 08 00 00 00 49 6E 66 69 rnstrcore.cpp(118) : 739 normal block at 0x031519A0, 21 bytes long.rn Data: < Infi> 01 00 00 00 08 00 00 00 08 00 00 00 49 6E 66 69 rnstrcore.cpp(118) : 738 normal block at 0x03151948, 21 bytes long.rn Data: < Infi> 01 00 00 00 08 00 00 00 08 00 00 00 49 6E 66 69 rnstrcore.cpp(118) : 737 normal block at 0x031516B8, 21 bytes long.rn Data: < Infi> 01 00 00 00 08 00 00 00 08 00 00 00 49 6E 66 69 rnrn[color=#FF0000]我程序中没有这些文件,应该是系统文件什么,我用任务管理器查看还是有内存泄露。请问怎么解?[/color]
内存释放问题????????????????????
我把文件放在数据库里,原后通过一个aspx文件把数据库里的文件读出来下载,语句如下:rnResponse.BinaryWrite((byte[])dr[strCol1]);rnrn但是后来我发觉,用户下载完成之后,内存不会自动释放,就算用GC.Collect()也不会释放,只有用户关了浏览器才释放,不知有没方法令用户下载完后马上释放内存吗?????????????????rn
内存释放问题
在一个程序中if ()pch = new char[10] 我是根据一定的条件才new的。 那我在程序中并不知道这条语句有没有执行。。 我要做一个释放memory的函数,那么这个pch, 是不是要del 掉吗? 也许没有执行new , 我del 有<em>问题</em>吗 ??
内存释放问题
VC里如下代码:rnrn#include "stdafx.h"rn#include "iostream.h"rnrnint main(int argc, char* argv[])rnrn char* p = new char[];rn cin>>p;rn cout<
问题 有关rave,delphi自带
有谁对<em>delphi</em> <em>自带</em>的rave页,是borland 公司自己开发的报表,请问那位兄弟对 着比较rn熟,跟我将一下
DELPHI自带例子中的问题
DEMO下面MIDAS的POOL程序,为何只能用TDCOMCONNECTION不能用TSOCKETCONNECTION
关于delphi自带例程的问题
其中有个wordpad程序,能实现大多数文本编辑器的功能,可源码里只有区区几行,请问高手们这是怎么回事阿?
delphi自带示例程序DockExk的问题
<em>delphi</em>6中示例程序DockExk中的BottomDockPanel、LeftDockPanel、Hsplitter、rnVSplitter用来干什么?好像是不必要的啊.
delphi 7自带的f1book问题
各位:<em>delphi</em>7<em>自带</em>的f1book是3.0版本的,我现在装了可是怎么用啊,两个的类名都是TF1book,在ActiveX面板里只有旧版的f1book,没有新装的f1book。rn在Component->Improt ActiveX Control里也显示新版本的已经安装了,但是怎么用大家帮帮忙啊。
delphi自带例子的一个问题
Borland\Delphi6\Demos\DbClx\fishfact目录下有biolife。cds文件。看了是个文件数据库,这种文件是那里来到?
修改DELPHI自带控件的问题
我给DELPHI<em>自带</em>的某个控件(如TBOTTON)增加了一个属性(property),不是继承,是直接修改源代码,所有代码写完后(没有错误),怎样才能将我加的属性出现在Object Inspector中?(将原DCU删除后编译不行。)
内存释放问题
用C++写的程序,当这个应用程序关闭后,此应用程序所占用的系统资源是不是一定完全释放了?例如:rnrnvoid main()rnrn int* a;rn a = new int[10000];rn for(int i = 0 ;i<10000;i++)rn rn a[i] = i + 1;rn rn rnrnrn此程序就这样结束,试问此应用程序结束后动态分配给指针a 的内存空间有没有被释放呢?
内存释放问题..
<em>内存释放</em><em>问题</em>....rn不好意思没多少分了rnrn函数:rnrnint split(char* str,char seps[],char * ret[])rnrn int i=0;rn char *token;rn token = strtok( str, seps ); rn while( token != NULL ) rn rn // printf( " 8888888 %s\n", token ); rn ret[i]=token;rn token = strtok( NULL, seps ); rn //sprintf(ret[i],"%s", token);rn rn i++;rn rnrn rn delete token;rn return i;rnrnrn======================================rnrnmain()rnrnrn char *msg[4]=NULL;rn char *doc=(char *)malloc(strlen(lpContext->m_wsaInBuffer.buf)) ;rn strcpy(doc, lpContext->m_wsaInBuffer.buf);rnrnrn split(doc,"@",msg);rnrn========================================rn请问 msg 和 doc 需要 进行 释放吗,如果需要释放的话 该如何写 ?
内存释放问题!!!
一个swing程序,内存老是得不到释放,我把panel都指null了,内存还是下不来,运行时间长了就堆溢出了,该怎么办啊?
关于微软自带的JSON解析时的问题
申明一个队列,里面两个属性,一个是string tbname 一个是属性的集合,使用的是List 无论这个集合,是用接口,还是用基类,都无法完成序列化的操作,不知道为什么。使用Newtonsoft.<em>json</em>,会报不可以使用接口转换的<em>问题</em>,请问,微软<em>自带</em>的这个可以吗?谢谢大家了
内存释放
<em>内存释放</em>
TMPGEnc PLUS 2.54 (带KVCD编码模板)下载
KVCD的作者设计了专用的编码模板文件,这些模板使用在mpeg压缩品质最好的软件“TMPGEnc plus”上,通过优化的动态码率和修正的量化矩阵来压缩编码,保证了生成的视频质量。 相关下载链接:[url=//download.csdn.net/download/baobolz/2252485?utm_source=bbsseo]//download.csdn.net/download/baobolz/2252485?utm_source=bbsseo[/url]
餐饮管理系统(vb+sql server2005+crystal report10)下载
详细介绍数据库设计和模块设计,附有详细代码 相关下载链接:[url=//download.csdn.net/download/catherine104/2731020?utm_source=bbsseo]//download.csdn.net/download/catherine104/2731020?utm_source=bbsseo[/url]
Cocos2d for iPhone.0.99 Beginners Guide Dec.2010.pdf下载
Cocos2d for iPhone.0.99 Beginners Guide Dec.2010.pdf 相关下载链接:[url=//download.csdn.net/download/iamhh/3140771?utm_source=bbsseo]//download.csdn.net/download/iamhh/3140771?utm_source=bbsseo[/url]
我们是很有底线的