Search code examples
actionscript-3inheritanceflash-cs4

AS3 error 1120 when inheriting document class


I am working in Flash CS4 with AS3.

I have a TextPage.fla file that contains a dynamic text field (name: PageTitle) as an instance on the stage. In the document class (TextPage) I set the text of PageTitle according to some XML. This all works fine.

I have another fla file, SpecialTextPage.fla, and that also has the PageTitle dynamic text field on the stage.

I now try to have the SpecialTextPage document class inherit from Textpage:

public class SpecialTextPage extends TextPage
{
...
}

but I get a "1120: Access of undefined property PageTitle." error when trying to publish SpecialTextPage. The error location is given as TextPage.as

As a workaround I can just copy the whole TextPage.as file and add in the extra things I need in SpecialTextPage.as but I'd obviously prefer it if I could just extend it.

I got the feeling I am not quite understanding the relationship between flash's objects on the stage and the document class.

Can someone help?


Solution

  • The way I got around the problem was to disable declaring stage instances automatically. (Publish Settings --> Flash Tab --> Uncheck 'Automatically declare stage instances')

    I then needed to declare pageTitle on my TextPage class as a public field:

    public class TextPage extends MovieClip
    {
        public var pageTitle:TextField;
        ...
    }