Vcomponents in Mach-O Package

Dave Addey listmail1 at dsl.pipex.com
Tue Dec 20 16:51:06 CST 2005


Hi Ruslan,

No, I'd already read that thread and tried everything it suggests.  The
problem is that when you compile as a Mach-O application in REALbasic, the
application is *already* a bundled .app folder, with the structure in place.
So, AppBundler can't do anything with it.

I think the Mach-O term for it is a Package rather than a Bundle, but the
structure is essentially the same.

If you compile a REALbasic project as a Mach-O app, and then right-click on
the application in the Finder, you should have an option to "Show Package
Contents".  This opens the .app as a folder, and lets you look inside.

I'm pretty comfortable with packages.  I already have an applescript that
will copy a .dylib file (for using HID input devices) into a
/Contents/Frameworks/ folder once REALbasic has built the Mach-O
application.

To be honest, having worked with the "package" format, I wouldn't use
AppBundler anyway, excellent as it is.  I just do the file copying myself
after I have comiled the Mach-O application.

Here's a page from the Apple site, which talks about loading code at runtime
for Mach-O:

http://developer.apple.com/documentation/DeveloperTools/Conceptual/MachOTopi
cs/Articles/loading_code.html

My guess is that the V4RB plugin is looking for the files it needs in the
executable application's folder (@executable_path) and looking in CFMSupport
if it can't find them there first.  What it *could* do instead is to:

* Look in the application bundle's /Contents/Frameworks/ folder first
* Look in the application's folder (as it does at the moment)
* Look in the CFMSupport folder (as it does at the moment)

My guess is that it isn't doing this first step, which is why it never finds
my files.

This would mean that we could copy the files inside the Mach-O Package if we
wanted, and then the plugin code would check each location in turn at
runtime until it found the files it needs.

Hope this helps!

Dave.

> From: Ruslan Zasukhin <sunshine at public.kherson.ua>
> Reply-To: Valentina Developers <valentina at lists.macserve.net>
> Date: Tue, 20 Dec 2005 17:10:48 +0200
> To: "valentina at lists.macserve.net" <valentina at lists.macserve.net>
> Conversation: Vcomponents in Mach-O Package
> Subject: Re: Vcomponents in Mach-O Package
> 
> On 12/20/05 4:45 PM, "Dave Addey" <listmail1 at dsl.pipex.com> wrote:
> 
>> Hi all,
>> 
>> Is there any way to get the Vcomponents recognised if they live in a folder
>> in my RB Mach-O bundle?  I¹ve read on the lists that some people have this
>> working for PEF bundles, but I have a Mach-O Package and I¹ve not heard
>> anyone get it working yet.
>> 
>> I already copy several custom files into the Mach-O package after compile,
>> so I¹m happy to do this for Vcomponents too.  But no matter where I put
>> them, the application won¹t find them on launch.
>> 
>> I really, really hope that there¹s a workaround for this ­ there¹s no way I
>> can ship my application with an installer to put them in CFMSupport, and I¹m
>> not having 12 files / folders with shlb names in the same folder as my
>> application.  Please tell me there¹s a solution!  This is a make or break
>> feature for me.
>> 
>> Using V4RB 2.0.5, RB 5.5.5, Mac OS 10.4.3, Mach-O compile only, local
>> database only
> 
> Dave,
> 
> Probably you have miss thread with subject
>     Re: [V4RB]  Vcomponents in package. Solution ? - YES !!!
> 
> This is one letters. Rest you can find in archive of list.
> 
> 
> ----------------------------
> Aha, so easy !!!
> 
> * I have download this App Bundler application.
> 
> * then compile some V4RB example as PEF application
> 
> * start App Bundler,
>     
>     - point compiled app
>     - point required files from VComponents and set for them destination
>             /Contents/MacOS
> 
>     - point where to build result package
> 
>     - press BUILD BUNDLE button.
> 
>     DONE.
> 
> Now we get MODERN Apple Style Package Example.app
> And it works!
> ----------------------------
> 
> 
> -- 
> Best regards,
> 
> Ruslan Zasukhin
> VP Engineering and New Technology
> Paradigma Software, Inc
> 
> Valentina - Joining Worlds of Information
> http://www.paradigmasoft.com
> 
> [I feel the need: the need for speed]
> 
> 
> _______________________________________________
> Valentina mailing list
> Valentina at lists.macserve.net
> http://lists.macserve.net/mailman/listinfo/valentina




More information about the Valentina mailing list