⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 delphi

📁 Delphi技巧
💻
字号:
<html>

<head>
<meta http-equiv="Content-Type"
content="text/html; charset=gb_2312-80">
<meta name="GENERATOR" content="Microsoft FrontPage Express 2.0">
<title></title>
</head>

<body bgcolor="#FFFFFF">
<NOBR>
<p><img src="/CiwImg/Ciw.gif"><img src="/CiwImg/Libra.gif"></NOBR> </p>

<table border="0" width="420">
<TBODY>    <tr>
        <td align="right"><font size="2"><em>[一九九七年八月四日
        总第669期] 第145版</em></font> </td>
    </tr>
</TBODY></table>

<p><img src="/CiwImg/RedLine.GIF" width="420" height="0"> </p>

<p align="center"><font color="#118811" size="4"><strong>Delphi程序使用资源的释放</strong></font>
<br>
<br>
<font color="#118811" size="3"><em>罗起</em></font> <br>
  写出一个不会造成资源分配崩溃的Delphi应用程序的<br>
关键是确保如果程序中分配了资源,即使当故障发生,程<br>
序也应能释放占用的资源。<br>
<br>
  文件、内存、WINDOWS资源和对象是一些必须时时加<br>
以注意的需确保释放的资源。下面的事件控制代码例子中<br>
先分配了内存,然后产生了一个错误,而造成它不再执行<br>
释放内存的程序代码:<br>
<br>
  ProcedureTForm1.ButtonlClick(Sender:Tobject<br>
);<br>
<br>
  Var<br>
<br>
  Pointer1:Pointer;<br>
<br>
  Integer1,Numzero:Intger;<br>
<br>
  begin<br>
<br>
  Numzero:Κ0;<br>
<br>
  GetMem(Pointer1,1024);{分配1K的内存资源}<br>
<br>
<br>
  Integer1:Κ5divNumzero;{此句产生一个除法错<br>
误}<br>
<br>
  FreeMem(Pointer1,1024);{这里此句将不被执<br>
行}end;<br>
<br>
  尽管大多数错误不会这样明显,但上例包含了重要的<br>
一点:当错误产生后,程序执行跳出模块,其后的资源释<br>
放程序代码不再被执行。为了确保上例中的FreeMem能够<br>
释放被GetMem占用的内存资源,必须把代码放入一个资源<br>
保护模块。<br>
<br>
  这里给出一个曲型的资源保护模块的格式:<br>
<br>
  {资源的分配}<br>
<br>
  try<br>
<br>
  {资源的使用}<br>
<br>
  finally<br>
<br>
  {资源的释放}<br>
<br>
  end;<br>
<br>
  上面的try...finally模块可以使程序总能执行fi<br>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -