[fpc-pascal] FindFirst...FindClose
Leonardo M. Ramé
martinrame at yahoo.com
Mon May 18 17:44:07 CEST 2009
You are not alone Michael, I also have to rewrite all of my FindFirst...FindClose calls :).
By reading the documentation a little more, I found that the unit OldLinux includes the Glob() function to search for files in Linux. This function returns a pointer that must be explicitly disposed by the GlobFree function, it doesn't matter if files where found or not.
I can't confirm this, but maybe FindFirst in linux is a wrapper to Glob, and that's why FindClose (in Linux) must be called outside the if.
Leonardo M. Ramé
http://leonardorame.blogspot.com
--- On Mon, 5/18/09, Michael Van Canneyt <michael at freepascal.org> wrote:
> From: Michael Van Canneyt <michael at freepascal.org>
> Subject: Re: [fpc-pascal] FindFirst...FindClose
> To: "FPC-Pascal users discussions" <fpc-pascal at lists.freepascal.org>
> Date: Monday, May 18, 2009, 12:25 PM
>
>
> On Mon, 18 May 2009, Jonas Maebe wrote:
>
> >
> > On 18 May 2009, at 16:39, Leonardo M. Ramé wrote:
> >
> > >Apparently my program gets stuck after a couple
> (several, in fact) of calls
> > >to the function that includes this code.
> > >
> > >By reading the FPC.RTL documentation, I found it
> says that FindClose must be
> > >used outside the if, as follows:
> > >
> > >if FindFirst(Edit1.Text, FileAttrs, sr) = 0 then
> > >begin
> > > repeat
> > > ...
> > > ...
> > >until FindNext(sr) <> 0;
> > >end;
> > >FindClose(sr);
> > >
> > >Can be this the cause of the problem in my
> application?.
> >
> > Yes.
>
> Huh ? Since when is this requirement ?
>
> If it is correct, 100% of my FindFirst/FindClose code must
> be rewritten !
>
> Michael.
> -----Inline Attachment Follows-----
>
> _______________________________________________
> fpc-pascal maillist - fpc-pascal at lists.freepascal.org
> http://lists.freepascal.org/mailman/listinfo/fpc-pascal
More information about the fpc-pascal
mailing list