[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Windows, DLLs and NSBundle
From: |
Helge Hess |
Subject: |
Re: Windows, DLLs and NSBundle |
Date: |
Fri, 05 Jan 2001 11:07:29 +0100 |
Hi,
I can only say that it works for me without any problems, at least in
Cygwin with libFoundation (and we heavily rely on loadable bundles and
the objc_load_callback/NSBundleDidLoad).
Which libobjc do you use ?
Helge
Michael Scheibler wrote:
>
> Yes, I know it should be invoked. But I inserted an NSLog statement
> inside objc-load's objc_load_callback function: nothing. I also got the
> notification, but the class name is nil (which of course can't have any
> class name without this callback routine working).
>
> Michael
>
> Helge Hess wrote:
> >
> > Hi,
> >
> > If you use NSBundle you should even be able to get a NSBundleDidLoad
> > Notification which includes the loaded classes and categories. At least
> > this works with libFoundation (which overrides the callback during
> > bundle loading) and MacOSX.
> >
> > Helge
> >
> > Adam Fedor wrote:
> > >
> > > Michael Scheibler wrote:
> > > >
> > > > Ok, I was (finally!) able to load a DLL using NSBundle. The ObjC-class
> > > > inside this DLL is automatically initialized by its load-method. Now it
> > > > would be nice to know what classes are inside.
> > > > I found a callback function in objc-load.m (objc_load_callback) and
> > > > found following lines in objc-api.h of gcc:
> > > >
> > > > /*
> > > > ** This is a hook which is called by __objc_exec_class every time a
> > > > class
> > > > ** or a category is loaded into the runtime. This may e.g. help a
> > > > ** dynamic loader determine the classes that have been loaded when
> > > > ** an object file is dynamically linked in.
> > > > */
> > > > extern void (*_objc_load_callback)(Class class, Category* category);
> > > >
> > > > Unfortunately this function is never invoked. Can you tell me why, or
> > > > where I can change the code for it?
> > > >
> > > It should be invoked. objc_load_module should set _objc_load_callback to
> > > the local function objc_load_callback. Anytime the Objective-C rurntime
> > > loads a module containing classes, it should call this function for each
> > > class and category. You might have to trace the program from
> > > objc_load_module to make sure the callback is really getting setup
> > > correctly.
> >
> > --
> > SKYRIX Software AG - http://www.skyrix.com
--
SKYRIX Software AG - http://www.skyrix.com
- Re: Windows, DLLs and NSBundle, Michael Scheibler, 2001/01/04
- Re: Windows, DLLs and NSBundle, Adam Fedor, 2001/01/04
- Re: Windows, DLLs and NSBundle, Helge Hess, 2001/01/04
- Re: Windows, DLLs and NSBundle, Michael Scheibler, 2001/01/05
- Re: Windows, DLLs and NSBundle,
Helge Hess <=
- Re: Windows, DLLs and NSBundle, Michael Scheibler, 2001/01/05
- Re: Windows, DLLs and NSBundle, Helge Hess, 2001/01/05
- Re: Windows, DLLs and NSBundle, Michael Scheibler, 2001/01/05
- Re: Windows, DLLs and NSBundle, Helge Hess, 2001/01/05
- Re: Windows, DLLs and NSBundle, Ovidiu Predescu, 2001/01/05