Cita:
Empezado por ecfisa
[...] o directamente con el destructor Destroy:
Código Delphi [-]
var
L2exe: TL2exe;
begin
L2exe:= TL2exe.Create;
try
Application.MessageBox('antes del call procces','Error', MB_ICONEXCLAMATION);
Application.Terminate;
finally
L2exe.Destroy;
end;
end;
[...]
Si se produce un error durante la creación, Delphi destruye automáticamente el objeto [...]
|
Bueno, aquí mencionar que si se eleva una excepción en la sentencia que crea al objeto, ciertamente se llamará al destructor, pero eso es un mecanismo nativo e implícito que nada tiene que ver con el bloque
Try-Finally del ejemplo que proporcionas (ejemplo válido, por cierto).
La sección
Finally es útil en este caso para asegurarse de destruir el objeto incluso cuando ocurra una excepción en alguna de las sentencias que siguen a la instrucción
Try, y no en alguna de las que le preceden (como la sentencia de creación del objeto).
Deseaba puntualizar eso. Cordiales saludos.
Al González.