[futurebasic] Re: [FB] [FB^3Carbon Calls [FAQ? - Tip of the Iceberg]

Message: < previous - next > : Reply : Subscribe : Cleanse
Home   : May 2002 : Group Archive : Group : All Groups

From: Alain Pastor <pixmix@...>
Date: Sun, 12 May 2002 17:38:11 +0200
Joe Lewis Wilkins wrote:
> 
> Alain Pastor replied to:
> 
> > snip - and I changed the subject line as well.
> > >
> > > Does anyone know what the carbon equivalents are ?
> >
> > Maybe:
> >
> > > FN PBGetVolSync
> >   FN PBHGetVolSync
> >
> > > FN PBGetFInfoSync
> >   FN PBHGetFInfoSync
> >
> > > FN PBOpenSync
> >   FN PBHOpenSync
> >
> > > FN PBGetFInfoSync
> >   FN PBHSetFInfoSync (assuming you meant FN PBSetFInfoSync)
> >
> > > FN PBFlushVolSync
> >   That one seems to be supported.
> 
> First of all, if this isn't a FAQ, I'd be surprised; and I assume there is
> a place to which we may go for answers to this kind of question - no?
> Not having begun a Carbon conversion yet, I've not focused on this
> very obvious problematical area.
> 
> TIA,
> 
> FAQmeister Joe
> 
Well, for once I'm not sure I totally agree. I think that good advice
and tips for searching the info should start the possible long list of
questions and answers of that kind in the first place. Otherwise we
would end up producing a documentation of galactic proportion. Have
just a look at the discouraging and long boring list in the "OS-X
Toolbox Support" doc that comes along with FB^3.

In the doc "Porting to Carbon", I just wrote that the programmer must
make sure that the Toolbox functions s/he wants to use is still valid
for Carbon. Have a look at that doc too and you'll see in the annexes
the long list again of new functions provided by Apple to access low
memory globals and fields in opaque structures. I bet only fools like
me can do that sort of monkey job.

That said, we have a few tools at our disposal in order to find the
info we need:

- First, we have the FB^3 documentation which is a bit weak regarding
the Toolbox, but in the defense of FB, it is fair to say that there's
no point in duplicating info that already exists at Apple's web site.

- The FB^3 header files are also a valuable place to search.

- The Apple Universal header files are freely downloadable (I
personally would love to see them included in the FB^3 CD. In France,
not everybody has a connexion to the Internet, let alone a fast one)

- The Toolbox Info plug-in by Mich the Great, is an incredible tool
that kicks my ass every time I use it (in no time, I have found the
answer to Pete's questions).

- I continue to use Think Ref every once in a while. Too bad that tool
has not been updated for Carbon.

- From time to time I question also the FB Pouch to retrieve things I
know they are there (cf. the recent question about storing resources
with PG apps). OK, it really shows its age now.

- Don't forget that there are a lot of useful info hidden in the 1800
example files of the Release 6 CD. Most of the time, I left the old
original code in conditional compile structures when I was converting
this plethora to Carbon. Not only I thought it would give food for
thought for the occasional reader, but it would allow also to perform
a global search on those files using a tool such as BBEdit. For
instance, performing a search on PBGetFInfoSync would give you the
following among other things:
in List Folder.bas:

CLEAR LOCAL
LOCAL FN SearchFolder (vRefNum AS INT)
'---> Variables
DIM AS SHORT Index, Err
DIM AS STR63 Filename
DIM pb.128
'---> Setup
Index = 1
'---> List Files in this Directory
DO
pb.ioFDirIndex%  = Index
pb.ioNamePtr&    = @Filename
pb.ioVRefNum%    = vRefNum
pb.ioDirID&      = 0

#IF CarbonLib = 0
Err = FN PBGetFInfoSync (pb)
#ELSE
FN FBWDtoPBWD(pb)
Err = FN PBHGetFInfoSync (pb)
#ENDIF

LONG IF Err = _noErr
PRINT Index,Filename
END IF

INC (Index)
UNTIL Err <> _noErr OR FN Button
END FN

HTH

-- 
Cheers,

Alain
------------------------------------------------------
                 Program different

                      E = FB^3

FutureBASIC^3 in Europe:  http://euro.futurebasic.com/
------------------------------------------------------