var
OpenFiles:TOpenDialog;Openfiles := TOpenDialog.Create(Application);
if Openfiles.Execute then strpcopy(@Pstring, Openfiles.FileName)
else strpcopy(@Pstring, #0);
Openfiles.Free;////此条作用不大以上代码有什么问题吗?占用内存2M左右不释放通过任务管理器看的,虽然不准确,相信肯定有问题
即使在函数退出以后,内在依然不能很好地释放

解决方案 »

  1.   

    ...delphi的内存管理一般不会出问题。你说这个对象泄露2M内存,几乎不可能的事情。你可以看下结构大约估摸下一般占多少内存。
      

  2.   

    Opendialog的时候会加载一大堆dll的
    不会马上释放过段时间会释放掉的
      

  3.   

    if Openfiles.Execute then 
    这个,占用约3M吧,
    有什么良方呢?
      

  4.   

    你加载的文件也占用内存啊,不用时候删除加载的文件内存也就释放了。
    比如一个image加载了一个bmp文件,内存就占用了大约2MB的内存。