La Red de Conocimientos Pedagógicos - Currículum vitae - Tutorial básico de DELPHI: manejo de excepciones y depuración de programas (1) [4]

Tutorial básico de DELPHI: manejo de excepciones y depuración de programas (1) [4]

Generar bloque de protección de recursos

Delphi finalmente proporciona una palabra reservada para proteger los recursos.

{Asignar recursos}

Intentar

{Uso de recursos}

Finalmente

{Liberar recursos}

Fin;

Intentar...finalmente...fin forma un bloque de protección de recursos. Independientemente de si el programa es anormal o no, las declaraciones posteriores a finalmente se ejecutarán bajo cualquier circunstancia.

Para el ejemplo en (), el siguiente código garantiza que se liberen los recursos de memoria asignados.

Definir variables

APointer: puntero

AInt ADiv:Integer

Inicio

ADiv:= ;

GetMem(apo int)

Prueba

AInt:= div ADiv;

Finalmente

Gratis Memoria

End;

End;

El siguiente ejemplo está extraído de la sección () y se utiliza para implementar la protección de recursos de archivos en la copia de archivos.

Procesar archivo de copia (nombre de archivo constante DestName: TFileName)

Definir variables

CopyBuffer: puntero;

Bytes de marca de tiempo copiados: Longint;

Destino de origen:integer;

Destino:TFileName

Constante

Tamaño del fragmento:Longint =;

Inicio

destino:= expandir nombre de archivo(DestName)

Si HasAttr(directorio de destino), entonces

Destino:=destino+ \ + Extraer nombre de archivo ( nombre de archivo)

Marca de tiempo:=tamaño de archivo (nombre de archivo)

GetMem(CopyBuffer ChunkSize)

Probar

Fuente:= FileOpen (FileNamefmShareDenyWrite)

Si source & lt entonces

genera EFOpenError Create(FmtLoadStr(SFOpenError[FileName])

Try

Dest: = FileCreate(Destino)

Si Dest & lt entonces

elevar EFCreateError Create(FmtLoadStr(SFCreateError[Destino]))

Intentar

Repetir

BytesCopied := FileRead(sourceCopyBuffer^tamaño de bloque)

Si BytesCopied & gt entonces

Escribir archivo Enter (CopiarBuffer de destino^bytes copiados)

Hasta BytesCopied & ltChunkSize

Finalmente

Archivo cerrado (destino)

Fin

Finalmente

Archivo cerrado (fuente)

Fin;

Finalmente

FreeMem(CopyBuffer ChunkSize)

p>

Fin

p>

Fin;

Para obtener instrucciones detalladas sobre este proceso, consulte la sección ()

En el caso de protección de excepción, cuando ocurre una excepción, el sistema aparecerá automáticamente. Abra un cuadro de mensaje para mostrar el mensaje anormal y la clase de excepción se borrará automáticamente después de salir del módulo actual.

Volver al directorio Tutorial básico de DELPHI

Recomendación del editor

Videotutorial de capacitación en programación Java

Videotutorial de capacitación práctica del marco avanzado J EE

p>

Desarrollo y práctica de la tecnología de audio y vídeo Visual C++

Tecnología de índice Oracle

Guía de optimización y desarrollo de bases de datos ORACLE G

La optimización del rendimiento de los programas Java permite que sus programas Java sean más rápidos y estables.

c Patrón de diseño de programación integrada

Guía práctica para el desarrollo de juegos para Android

Lishi Xinzhi/Article/program/Delphi/201311/25194