您现在的位置是:首页 >

释放磁盘空间的程序是 Delphi程序使用资源的释放

火烧 2021-08-13 06:43:07 1033
Del hi程序使用资源的释放  写出一个不会造成资源分配崩溃的Del hi应用程序的关键是确保如果程序中分配了资源 即使当故障发生 程序也应能释放占用的资源   文件 内存 WINDOWS资源和对象

Delphi程序使用资源的释放  

 写出一个不会造成资源分配崩溃的Delphi应用程序的关键是确保如果程序中分配了资源 即使当故障发生 程序也应能释放占用的资源

  文件 内存 WINDOWS资源和对象是一些必须时时加以注意的需确保释放的资源 下面的事件控制代码例子中先分配了内存 然后产生了一个错误 而造成它不再执行释放内存的程序代码

  ProcedureTForm .ButtonlClick(Sender Tobject)

  Var

  Pointer Pointer

  Integer Numzero Intger

  begin

  Numzero Κ

  GetMem(Pointer ) {分配 K的内存资源}

  Integer Κ divNumzero {此句产生一个除法错误}

  FreeMem(Pointer ) {这里此句将不被执行}

释放磁盘空间的程序是 Delphi程序使用资源的释放

  end

  尽管大多数错误不会这样明显 但上例包含了重要的一点 当错误产生后 程序执行跳出模块 其后的资源释放程序代码不再被执行 为了确保上例中的FreeMem能够释放被GetMem占用的内存资源 必须把代码放入一个资源保护模块

  这里给出一个曲型的资源保护模块的格式

  {资源的分配}

  try

  {资源的使用}

  finally

  {资源的释放}

  end

  上面的try...finally模块可以使程序总能执行finally部分中的任何程序代码 即使有错误在保护模块中产生 当try部分中的某一条代码执行引起错误时 执行将直接跳到finally部分 若执行中没有错误产生 则程序按正常顺序执行

  在下面的事件控制代码例子中先分配了内存 然后产生了一个错误 但是仍然执行了释放内存的程序代码

  ProcedureTForm .Button Click(Sender Tobject)

  Var

  Pointer Pointer

  Integer Numzero Integer

  begin

  Numzero Κ

  GetMem(Pointer ) {分配 K的内存资源}

  try

  Integer Κ divNumzero {此句产生一个除法错误}

  finally

  FreeMem(Pointer ) {这里此句仍将被执行}

  end

  end

lishixinzhi/Article/program/Delphi/201311/25084  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码