Now I have found a possible solution, which is working well to me: just simply change the declaration in header file by adding "extern" keyword, which will prevent the instant being created repeatedly. Wish this helpful to others.

On Jul 1, 2008, at 2:53 PM, [EMAIL PROTECTED] wrote:

------------------------------

Message: 13
Date: Tue, 1 Jul 2008 14:48:15 -0400
From: JArod Wen <[EMAIL PROTECTED]>
Subject: Re: How to make the FileOwner of a nib file accessible
        globally in             whole project (JArod Wen)
To: cocoa-dev@lists.apple.com
Message-ID: <[EMAIL PROTECTED]>
Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes

I need to make some clearance on this problem: the biggest issue is
that MovieDocument is instantiated by IB, since it is the FileOwner of
the MovieDocument.nib. So the problem should be: is there a way to
access a class from a method of another class when the
first class is instantiated from a NIB file.

I am now trying to set an IBOutlet in the other classes for
MovieDocument. It is the only way I can find from my brain... Frankly
say, I am a real newbie...

sorry for any confusion...

Hi Jedis,

Here is my problem: my application now have a main nib file
MovieDocument.nib with its FileOwner MovieDocument.mm(We used
AVCVideoServices which requires to be in a c++ source file). I need to send messages to the methods in MovieDocument.mm from other classes in
the project(I have many other windows and also corresponding
controllers), so i need a way to access the movieDocument globally.

One example: there is another controller VideoController.m which
contains some measurement methods on the movie loaded in
movieDocument. Once we finish the measurement in VideoController, we
need to update the movie in MovieDocument, where we need to send
message to the methods in MovieDocument.

This is from VideoController.m

- (void)writeMeasureOutput:(MeasureView *)sender
{
        // Some measurement code here...

        object = [[movieDocument measureView]   whatsNext];

        NSLog(@"Next measurement: %@",object);        
        
}

Such calls should be used in many other controllers in the projects.
So the instant of MovieDocument should be accessed globally.

I have tried to instantiate MovieDocument in MovieDocument.h, but it
is clearly wrong since when the header file is imported, the instant
will be created once.

So any suggestion on this problem? Thanks in advance!

---------------
JArod Wen

---------------
JArod Wen

---------------
JArod Wen




_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Reply via email to