[futurebasic] Re: [FB] Private Frameworks with FB5

Message: < previous - next > : Reply : Subscribe : Cleanse
Home   : November 2009 : Group Archive : Group : All Groups

From: Robert Purves <listrp@...>
Date: Sat, 7 Nov 2009 13:22:14 +1300
Dave Warker wrote:

> Does anyone know how to include a private framework in a FutureBasic  
> 5 project?
>
> I am converting an FB4 project to FB5. The FB4 project includes a  
> private framework that currently resides in the same folder as the  
> FB4 application and is accessed from within FB4  by opening the  
> framework with CFBundleCreate, obtaining function pointers with  
> CFBundleGetFunctionPointerForName and calling them from assembly  
> language "glue" functions in the FB header file.
>
> For FB5 I'd like to handle it as I do in Xcode, as a standard Mac OS  
> X private framework which means including it within the application  
> bundle in a Frameworks sub-folder and linking directly to it's  
> routines using (I'm assuming) some combination of "include library"  
> and "Toolbox" statements.
>
> Has anyone done this yet? Any ideas on how I might be able to  
> accomplish this?

I don't think anyone has attempted to include a framework in an FB5  
build. Try along these lines.

[1] Tell FB5 to put Foo.framework inside the app, at <app_name>/ 
Contents/Resources/.
include resources "Foo.framework"

[2] Get the function pointers as you do currently.
dim as pointer  gBar
gBar = fn MyGetFuncPointer( "Bar" ) // or whatever

[3] Instead of horrible FB4 assembler glue, simply declare prototypes  
for your functions, with a 'using' clause to specify the function  
pointer.
def fn Bar( param as SomeType ) as SomeOtherType using gBar


Your framework will be in <app_name>/Contents/Resources/ instead of  
<app_name>/Contents/Frameworks/, which may or may not be a problem.

Robert P.