ActionScript 3 :: Inaccessible Error When Referencing Document Root Object
Apr 22, 2011
I'm trying to reference the document object from various classes in my class library. Everything seemed to be going peachy until I started getting this random, weird error. I thought maybe it was Flash acting up all of a sudden but I tried it on my Mac as well and I get the same error. Basically no matter WHAT I do, I am getting the error:
1195: Attempted access of inaccessible method getSessionHandler through a reference with static type pim:PClient
It's a lot of code, but here is the full code.
// PClient.as
package pim {
import flash.display.MovieClip;
import pim.gui.PGConsole;
import pim.loader.PCommandLoader;
[Code] .....
Alright so right now, I have sort of a singleton reference that I'm using so I can reference the document object from any class (without the need to pass the client object to each class that needs to use it). I'm pretty sure I've done this before and had it work, but obviously it is not. I've even tried passing the client object (this) to the PCommandLoader object and it still gives this really strange error (that is without the use of any static methods, etc.).
I've tried everything -- even a class that holds the PClient object reference, which was really messy -- and it still gives this really, really weird message. Even referencing the root property on movieclips gives me this error. The movie was working great and then magically it started doing this. I backed everything up and undid everything back to pretty much empty script files and it wouldn't let me compile since...
Alright, I am pulling my hair out on this one. Got this problem at around 9 last night and was up until 5 trying to fix it, and then all day so far (it's already about 9 PM again) trying to fix it. I've tried everything I can think of.Alright, so I'm trying to reference the document object from various classes in my class library. Everything seemed to be going peachy until I started getting this random, weird error. I thought maybe it was Flash acting up all of a sudden but I tried it on my Mac as well and I get the same error.Basically no matter WHAT I do, I am getting the error:
> 1195: Attempted access of inaccessible > method getSessionHandler through a > reference with static type pim:PClient
var myXML:XML = new XML(); var myOtherXML:XML = <Greeting> Hi <Greeting> var myOtherXML2:XML = <Name> James <Name> myXML.appendChild(myOtherXML) //TypeError: Error #1088: The markup in the document following the root element must be well-formed.
I'm using flex 4 to build a program and I am getting this error on one module I call. Does this refer to the module document (.mxml) or the actually xml file the module it calling?
I experienced the following error when loading xml using AS3. I searched the whole internet for solutions but nothing works! But after trying for hours, i somehow solve it. All I did was to remove "</xml>" from my xml.
TypeError: Error #1088: The markup in the document following the root element must be well-formed. at toffees_fla::MainTimeline/onLoaded() at flash.events::EventDispatcher/dispatchEventFunction()
I'm working with eclipse, blazeds and Flex Plugin, and every time I create a Web Dynamic Project then add a Flex Project Nature to it this error: "An unknown item is declared as the root of your mxml document" appears just as the perspective view changes and I click on the design mode. As far as I know the only lines of code written on the screen are the standard in any other program, but I'll put here anyway so you can have a go at it if there's something realyy wrong and I didn't see:
I have two classes that I am trying to get to intereact, main.as which is the class attached to the stage and then light_mc.as which is attached to a movieclip.
I have a function in main that I would like to access in light_mc. I have set it up so main stores "this" in a variable called instance so I can easily access the functions within main.
I am having trouble dynamically changing the reference to root in my movies. Here's what I'm trying to do: I have a main movie(_level0.mainMovie) that I am loading external .swfs into. However, I want to be able to test the child movie clips without having to load them into the mainMovie(for testing purposes). In such a case, the child clip would be at _level0 or _root. I would like to add some code to the child clips to test whether they are the _level0 clip, if not, then I want to change their reference to _root. Here's what I've come up with, which doesn't seem to work:
Code: function testLevel(){ //This code goes into each child clip to see if it has been loaded into another clip trace(this); if(this == _level0){ //If this is the _level0 clip
dynamically loaded swf files that employ .root syntax. I'm loading in several older swf files into a master swf. The master has a previewer that lets the user preview the library of swf files. Some of these older swf files have buttons in them that use .root, and I don't want the .root to effect the master swf, but the loaded one.
I have a root timeline in which contains a movie clip on a certain frame. Inside that movieclip, on it's second frame, there is a button. I would like to use this button, when clicked, to move take the user to a frame on the root timeline.
I have a 13 movieclips within another movieclip which in turn is placed on the root timeline. I have written a function in the actions layer of the main timeline: function illboxClear(){ _root.illpre.ill1.gotoAndStop(1); _root.illpre.ill2.gotoAndStop(1); _root.illpre.ill3.gotoAndStop(1); _root.illpre.ill4.gotoAndStop(1); [Code] .....
It sends the animation in each of those described movieclips back to frame one as you can see. When I try to call the function from actions on a button which itself within a separate movieclip placed on the stage: on (rollOver) { illboxClear(); _root.illpre.ill2.play() } on (rollOut) { _root.illpre.ill2.play() } on (release) {getURL("boxer.html","_blank"); } It doesn't work! Can I not call functions from button objects or have I made some other elementary error?
How do I reference the root frame label in a function for event dispatching using a switch statement.
SUMMARY: This is simple, but as I've stepped away from ActionScript for too long, I'm having trouble figuring out the proper test expression to reference the root timeline frame label (e.g., switch(the root frame label)).
Nothing i've tried works: switch(this.label)://obviously this would look at the button timeline switch(event.root.label)://player says there is no "root" property ...
STRUCTURE: I have five MCs, one on each of five frames. I have a forward button and a back button. I created a switch statement to specify different actions, based on the root frame label. Frame labels are f1, f2, f3, f4, fend.
i want to set the focus on a certain textfield, but since the textfield is not in the document class of my application im having trouble to access the focus property. things like: this.focus = myTf, MovieClip(parent).stage.focus = myTf etc. don't work for me, im slowly turning insane.
How to access the focus property outsite the document class?
I have a document class with a child MovieClip on the stage. I have the clip already on the stage because it's part of an complex layout provided by the designer and it seems easier to leave it on the stage than to use addChild (since I would have to add about 60 objects).What is the best way to reference the document class from inside the child MovieClip class?
I have a main document/fla, and ive created a game class, instantiated it in the document/fla file and it runs now i want to put a button inside that game class that can tell the root document/fla to jump to a certain frame.
I have a document class called Racine in which I add all the resize events so that the stage takes all the available screen. extract of Racine class :
[Code]...
As a standalone site, it is ok, but now, I want to make a preloader, and I am wondering what is the simplest way to achieve that by making less modification as possible in my Racine class? Suppose I create a swf called loader.swf loading my site, site.swf, is it possible to have a document root also for loader.swf?
Anyways, I've been trying to figure this out for quite some time.Let's say I have my document class. I'm guessing the document class can correspond to the first thing that gets run? (such as the "main" function in most C++/low level languages).If I set a variable in it:var myNumber:Number = 10;how would Iaccess: "myNumber" from other objects in my stage?Like a movieclip on my stage for example.If I go inside that movieclip into the movieclip's first frame, how would I say:trace(TheDocumentClass.myNumber);Another similar question is, what about the actual stage frame?If I click on frame 1 of my stage, set a variable:var aNumber:Number = 5;how would I access it from other objects?In my movieclip's first frame, what would I put?trace(root.aNumber); ?trace(stage.aNumber); ?
I have a root stage, and a MC that is called from the root stage.Now from that MC, i will called in another MC2, and I wanted to placed the MC in the center of the stage. The reason I could not use normal ADDED_TO_STAGE at MC and define the center is because MC is not place in the exact position of the root stage (as in x, y=0). So if I would target MC2 at MC stage center, it would not be the exact center of the root stage/screen.How can I called the root stage properties rather than adding MC2 into the stage?
So I have a MovieClip symbol created in the Flash IDE with a baseClass of flash.display.MovieClip and Class name of "Square". I have placed it on the timeline of my fla at frame 30 and given it an instance name of "square". How can I control that MovieClip from my DocumentClass? I have an ENTER_FRAME listener listening for the arrival of frame 30. At that time I want to simply do something to the "square" MovieClip. But I keep getting a compile-time error of "1119: Access of possibly undefined property square through a reference with static type flash.displayisplayObject.".
I'm using a PreLoader as a parent SWF that loads the actual website as a child SWF. In the website SWF, the child SWF, will MovieClip(root) still work and refer to it's own root, or the PreLoader's root? And would I still access the websitite's document class (the child's document class), through MovieClip(root)? What if both files have a document class?So my main question is how do document classes and MovieClip(root) behave in the scenario when you have:
Im having whta I think is a quite common problem. I recently started migrating form AS2 to AS3 and Im buidling a home made template for all AS3 projects..
I have just loaded portfolio.swf on top of main.sfw. The buttons on portfolio.swf share the same class as the buttons on main.swf
I have a class called which is called ChartInfo,and it has a getter and setter methods as:
[Code]....
It will always give error like: 1195: Attempted access of inaccessible method isShowingPower through a reference with static type components.charting:ChartInfo.
I want to know the difference between [object main timeline], [object Stage] and root in as3? I have read from the topic How stage, root, and MainTimeline Fit Together. But I didn't get clearly.
Ok, this is one of those walls that I know once I can jump over it, I will be a much happier developer again.
I've done tons of reading, and think I have a firm understanding that the general consensus is that if you want to reference something, it needs to be added to the display list, using addChild().
I hate to be defiant, but what if I don't want to?
Or at the very least, what if I want to add a movieclip class to the stage using addChild, and then reference objects inside it?
It is much easier this way than what most people recommend - adding 15 objects via addChild, then setting the x and y for the, etc.
That said, I'm all about using classes and using as3 the way it was meant to be used. So what this is, is a best practices question I guess.
HERE ARE THE STEPS I'M TRYING:
- Create new flash document
- Draw graphic symbol bg, with text field over it, select them, convert to movieclip symbol, and export class name "box", then delete it from stage
- Add document class .as file, which simply adds that class "box" from the library, to the display list using a simple addChild()
- Set a name for that box using box.name = "test" let's say
- Do a simple trace like the following - "getChildByName('test').textFieldName" - it shows up great
- So then, I'll now try to set the text by doing this - getChildByName('test').textFieldName.text = "yo";
That last line above, is what doesn't work. I know I'm referencing wrong, but how would a pro as3 developer, reference something on the stage within a movieclip class, from the document class?
I need to increment an integer variable in a function within the document class upon transpiring event in another class. I can't seem to figure out how to call the function and reference the variable.