Die von dir designte Klasse ist höchst "interessant". Ich würde es so lösen:
Delphi-Quellcode:
type
TContainer = class(TObject)
private
FFileName: String;
FInvalidFile: Boolean;
public
procedure DoSomeThing;
constructor Create(const FileName: String; AsReadOnly: Boolean);
destructor Destroy;
published
property InvalidFile: Boolean read FInvalidFile;
end;
Dann kannst du im Create prüfen ob die Datei geöffnet werden kann und ansonsten setzt du FInvalidFile auf true. In keinen Fall darfst du im Constructor Destroy aufrufen. Das ist tödlich