[futurebasic] Re: [FB] FB3 Memory Toolbox Oddities

Message: < previous - next > : Reply : Subscribe : Cleanse
Home   : January 2000 : Group Archive : Group : All Groups

From: Derek Smith <dereksmi@...>
Date: Mon, 24 Jan 2000 22:43:35 -1000
On Mon, 24 Jan 2000, Robin wrote:

> (1) I am converting a project from FB II to FB^3 and get this error message:
> 
>   Warning: This toolbox call does not return a result.
>   The compiler has forced a result of zero.
>   in file  Server.¼:|HEAPS.INCL at line 105 in LOCKHANDLE&
>   €oserr = FN HLOCK (aHandle&)€
> 
> However, this worked fine in FBII: in that oserr *did* sometimes return an
> error, and this was valid. Is this an error in FB^3? If not, how come it
> actually returned correct errors in FBII?

Those errors weren't real.  All HLOCK does is flip a bit, it cannot
possibly fail.  FBII defined it incorrectly and FB3 is now in line with
Apple's definition.

The correct way to call HLock in FB^3 is with Call HLock or plain
HLock(hndl&)

 
> I have a similar problem with
>   oserr = FN HUNLOCK (aHandle&)

Same deal.  Any error you ever saw was bogus.

> and
>   err = FN DISPOSHANDLE(aHandle&)

Same.

> Again, these gave valid results under FB II.
> 
> I guess I can work around this with:
>   FN HLOCK (aHandle&)
>   oserr = SYSERROR

> but I'm puzzled why it seemed to work before.

There is no error at all.  You don't have to check.

> (2) In FBII, SYSERROR worked fine in LOCAL MODE functions. In FB^3 it
> doesn't: it says the variable SYSERROR isn't defined. A bug?

How curious!  Sounds like a bug alright.

-Derek