Hi,
In ClassA, the someFunction definition is:

public function someFunction(){
        trace(this, "Some function called");
        objectB = new ClassB();
        objectB.name = "myobjectB";
        this.addChild(objectB);
        trace(this, "This is not getting called");
}

Regards
Sajid

On Wed, Sep 2, 2009 at 10:07 AM, Sajid Saiyed<sajid.fl...@gmail.com> wrote:
> Hi,
> Thanks all of you for adding your valuable inputs, I am reviewing all
> suggestions.
>
> Meanwhile, I would like to say that, I am not writing anything in my FLA.
> (I guess thats the best practice, is it correct?)
>
> So, ONlything I do in the FLA is declare ClassA as my document root class.
>
> Could that be the problem?
>
> Also the trace in my "someFunction" is getting called.
> Then immediately after the trace, I have the code to instantiate ClassB.
> The trace immediately after this instantiation does not appear.
>
> Regards
> Sajid
>
> On Wed, Sep 2, 2009 at 8:06 AM, Muzak<p.ginnebe...@telenet.be> wrote:
>> Works fine here:
>>
>> ClassA extends ClassC
>> ClassB extends ClassC
>> ClassC extends ClassD
>> ClassD extends MovieClip
>>
>> // ClassA
>> package {
>> import flash.events.Event;
>> public class ClassA extends ClassC {
>>  public var b:ClassB;
>>  public function ClassA():void {
>>  trace("ClassA ::: CONSTRUCTOR");
>>  addEventListener(ClassC.MOVE_UP, moveUpHandler);
>>  }
>>  protected function moveUpHandler(event:Event):void {
>>  trace("ClassA ::: moveUpHandler");
>>  b = new ClassB();
>>  trace("    - instance 'b': ", b);
>>  }
>> }
>> }
>>
>> // ClassB
>> package {
>> public class ClassB extends ClassC {
>>  public function ClassB():void {
>>  trace("ClassB ::: CONSTRUCTOR");
>>  }
>> }
>> }
>>
>> // ClassC
>> package {
>> public class ClassC extends ClassD {
>>  public static const MOVE_UP:String = "moveUp";
>>  public function ClassC():void {
>>  trace("ClassC ::: CONSTRUCTOR");
>>  }
>> }
>> }
>>
>> // ClassD
>> package {
>> import flash.display.MovieClip;
>> public class ClassD extends MovieClip {
>>  public function ClassD():void {
>>  trace("ClassD ::: CONSTRUCTOR");
>>  }
>> }
>> }
>>
>> In FLA:
>>
>> var a = new ClassA();
>> trace("    - instance 'a': ", a);
>> trace("    - disptaching MOVE_UP event on 'a'");
>> a.dispatchEvent(new Event(ClassC.MOVE_UP));
>>
>>
>> //Output
>>
>> ClassD ::: CONSTRUCTOR
>> ClassC ::: CONSTRUCTOR
>> ClassA ::: CONSTRUCTOR
>>   - instance 'a':  [object ClassA]
>>   - disptaching MOVE_UP event on 'a'
>> ClassA ::: moveUpHandler
>> ClassD ::: CONSTRUCTOR
>> ClassC ::: CONSTRUCTOR
>> ClassB ::: CONSTRUCTOR
>>   - instance 'b':  [object ClassB]
>>
>>
>> Exactly as expected. From what I can tell, it doesn't really matter which
>> class extends which.
>> The only thing that matters is that the MOVE_UP event handler
>> (moveUpHandler) in ClassA gets called, which happens when I dispatch a
>> MOVE_UP event on 'a' in the fla.
>>
>> regards,
>> Muzak
>>
>> ----- Original Message ----- From: "Sajid Saiyed" <sajid.fl...@gmail.com>
>> To: "Flash Coders List" <flashcoders@chattyfig.figleaf.com>
>> Sent: Tuesday, September 01, 2009 8:12 AM
>> Subject: Re: [Flashcoders] Problem understanding Class heirarchy issue
>>
>>
>>> Ok, Here is a bit more information.
>>>
>>> ClassA (works pefrectly fine):
>>> -----------
>>> package com.folder.subfolder
>>> {
>>>   import flash.display.*;
>>>   import flash.events.*;
>>>   import flash.filters.*;
>>>   import flash.utils.Timer;
>>>   import com.folder.subfolder.*;
>>>
>>>   public class ClassA extends ClassC
>>> {
>>>           public var myMenu: ClassB;
>>>
>>>           public function ClassA (){
>>>                addEventListener(ClassC.moveUP, someFunction);
>>>           }
>>>           public function someFunction(){
>>>                myMenu = new ClassB();
>>> myMenu.name = "mymenu";
>>> this.addChild(myMenu);
>>>           }
>>>
>>>       }
>>> }
>>>
>>> ClassB
>>> -----------
>>> package com.folder.subfolder
>>> {
>>>   import flash.display.*;
>>>   import flash.events.*;
>>>   import flash.filters.*;
>>>   import flash.utils.Timer;
>>>   import com.folder.subfolder.*;
>>>
>>>   public class ClassB extends ClassC
>>> {
>>>           public function ClassB (){
>>>                // This is not getting called.....
>>>           }
>>>       }
>>> }
>>>
>>>
>>> Does this explanation help a bit??
>>> Am I looking at the right place for the problem or the problem could
>>> be somewhere else?
>>>
>>> Thanks
>>> Sajid
>>>
>>>
>>>
>>>
>>>
>>> On Mon, Aug 31, 2009 at 10:46 PM, jonathan howe<jonathangh...@gmail.com>
>>> wrote:
>>>>
>>>> Are you defining a subclass constructor and then failing to explicitly
>>>> call
>>>> the super() (superclass's constructor)?
>>>>
>>>> On Mon, Aug 31, 2009 at 8:37 AM, Sajid Saiyed <sajid.fl...@gmail.com>
>>>> wrote:
>>>>
>>>>> I am already importing all the classes in the package.
>>>>>
>>>>> Still cant seem to get my head around this.
>>>>> Maybe later today I will post excerpts of my classes here.
>>>>>
>>>>> That might help.
>>>>>
>>>>> Regards
>>>>> Sajid
>>>>>
>>>>> On Mon, Aug 31, 2009 at 6:14 PM, Cor<c...@chello.nl> wrote:
>>>>> > Not knowing what you are trying to do, you have to import ClassB to
>>>>> > instantiate it in ClassA.
>>>>> >
>>>>> > HTH
>>>>> > Cor
>>>>> >
>>>>> > -----Original Message-----
>>>>> > From: flashcoders-boun...@chattyfig.figleaf.com
>>>>> > [mailto:flashcoders-boun...@chattyfig.figleaf.com] On Behalf Of Sajid
>>>>> Saiyed
>>>>> > Sent: maandag 31 augustus 2009 12:06
>>>>> > To: flashcoders@chattyfig.figleaf.com
>>>>> > Subject: [Flashcoders] Problem understanding Class heirarchy issue
>>>>> >
>>>>> > Hi,
>>>>> > I have following Class structure:
>>>>> >
>>>>> > ClassA extends ClassC
>>>>> >
>>>>> > ClassB extends ClassC
>>>>> >
>>>>> > ClassC extends ClassD
>>>>> >
>>>>> > ClassD extends MovieClip
>>>>> >
>>>>> > Now,
>>>>> > If I instantiate ClassB from ClassA, the constructor does not execute.
>>>>> > note: Inside ClassB, I am instantiating another ClassE which extends
>>>>> > MovieClip
>>>>> >
>>>>> > Is there something I am doing wrong?
>>>>> > _______________________________________________
>>>>> > Flashcoders mailing list
>>>>> > Flashcoders@chattyfig.figleaf.com
>>>>> > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
>>>>> >
>>>>> > _______________________________________________
>>>>> > Flashcoders mailing list
>>>>> > Flashcoders@chattyfig.figleaf.com
>>>>> > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
>>>>> >
>>>>> _______________________________________________
>>>>> Flashcoders mailing list
>>>>> Flashcoders@chattyfig.figleaf.com
>>>>> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> -jonathan howe
>>>> _______________________________________________
>>>> Flashcoders mailing list
>>>> Flashcoders@chattyfig.figleaf.com
>>>> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
>>>>
>>> _______________________________________________
>>> Flashcoders mailing list
>>> Flashcoders@chattyfig.figleaf.com
>>> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
>>>
>>
>> _______________________________________________
>> Flashcoders mailing list
>> Flashcoders@chattyfig.figleaf.com
>> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
>>
>

_______________________________________________
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Reply via email to