On Fri, Mar 1, 2013 at 11:49 PM, Xiangrong Fang <[email protected]> wrote:
> Hi there,
>
> If my class constructor looks like this:
>
> constructor TMyClass.Create(fn: string);
> begin
>   sl := TStringList.Create;
>   try
>     fs := TFileStream.Create(fn, fmOpenRead);
>   except
>     self.Destroy;
>   end;
> end;
>
> I create the objec like:  MyInstance :=
> TMyClass.Create('AnNonExistentFile');  An exception occured, I can ensure
> that:
>
> 1. there is no memory leak.

I assume FPC behaves like Delphi, so there's no leak.
Actually, you don't even need to explicitly call Destroy; when an
exception occurs in a constructor the destructor is called
automatically.

> 2. the MyInstance variable is assigned nil?

No, it's not initialized.

> Thanks

Regards,
Flávio

--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to