Component to Search AS2 Code

I am trying to figure out a way to search the code and frames of an FLA and return the results that can be printed or at least displayed some way on screen.
We have hundreds of Computer Based Training (CBT) Flash movies that need to be updated periodically. Each FLA has several frames which represent separate lessons. My dilemma is that in order to update an acronym, for instance, I'd have to open each FLA and look into each frame. I'd like to automate the process and be able to enter search criteria and then have the component spit out all instances of the acronym (or whatever) and also tell me on which frame each instance exists. To compound the issue external SWFs are loaded into some of the frames.
Is there a way to do this with a component or maybe jsfl? Is there a way to report which frame the playhead is on when the search criteria is found? Although I think this is impossible, is there a way to jump into an externally loaded SWF and search the frames it contains for the search criteria?
Any help is greatly appreciated.
Thanks

well, here's more of that code.  it's from a jsfl file that finds specific actionscript strings and replaces it with other actionscript.  all timelines that are used or could be used are searched for actionscript:
var doc = fl.getDocumentDOM();
var rootTL = doc.getTimeline();
var checked_mcA = [];
// *** begin initializations
// array of replacement arrays.  first term is searched and replaced by 2nd.
// example:
//var replacementA = [["new Sound()","new Sound(this)"],[" 'audio/","pathS+'audio/"]];
var replacementA = [["._x+357","._x+350"]];
// *** end initializations
//fl.trace(doc.name);
findAS(rootTL);
//findLibrary_mcAS();
//fl.saveDocumentAs(doc);
fl.saveDocumentAs(doc);
function findAS(tl) {
    if(tl==rootTL){
        for (var layerIndex = 0; layerIndex<tl.layers.length; layerIndex++) {
            for (var frameIndex = 0; frameIndex<700; frameIndex++) {
            //for (var frameIndex = 0; frameIndex<tl.layers[layerIndex].frameCount; frameIndex++) {
                //fl.trace(frameIndex+" : "+tl.layers[layerIndex].frameCount);
                if(tl.layers[layerIndex].frames[frameIndex]!=undefined&&tl.layers[layerIndex].frames[fram eIndex]!=null){
                    //fl.trace(tl.name+" : "+tl.layers[layerIndex].name+" "+frameIndex);
                    findASinLayerFrame(tl, frameIndex, layerIndex);
    } else {
        for (var layerIndex = 0; layerIndex<tl.layers.length; layerIndex++) {
            for (var frameIndex = 0; frameIndex<tl.layers[layerIndex].frameCount; frameIndex++) {
                findASinLayerFrame(tl, frameIndex, layerIndex);
            // end frameIndex
        // end layerIndex
function findASinLayerFrame(tl, frameIndex, layerIndex) {
    //fl.trace(tl.layers[layerIndex].name+" :: "+layerIndex+" ::: "+frameIndex+" "+tl.layers[layerIndex].frames[frameIndex].startFrame);
    if (tl.layers[layerIndex].frames[frameIndex].startFrame == frameIndex) {
        // edit actionscript, if any, attached to this frame/layer.  actionscript only on keyframes (hence, start_frame=frameIndex)
        var as = tl.layers[layerIndex].frames[frameIndex].actionScript;
        if (editNeeded(as)) {
            //fl.trace("frameIndex: "+frameIndex);
            as = editAS(as);
            //fl.trace(tl.name);
        tl.layers[layerIndex].frames[frameIndex].actionScript = as;
        //fl.trace("****");
        // find components/movieclips/buttons that could have actionscript attached to this tl/layer/frame
        //elementA = tl.layers[layerIndex].frames[frameIndex].elements;
        //fl.trace(tl.layers[layerIndex].frames[frameIndex].elements.length);
        for (var eNum = 0; eNum<tl.layers[layerIndex].frames[frameIndex].elements.length; eNum++) {
            if (tl.layers[layerIndex].frames[frameIndex].elements[eNum].elementType == "instance") {
                libItem = tl.layers[layerIndex].frames[frameIndex].elements[eNum].libraryItem;
                //fl.trace(tl.layers[layerIndex].frames[frameIndex].elements[eNum].libraryItem.name+" "+tl.layers[layerIndex].frames[frameIndex].elements[eNum].elementType+" "+tl.layers[layerIndex].frames[frameIndex].elements[eNum].libraryItem.itemType)
                // check for code directly attached to this instance, if button
                // anything in library derives from Item object.  item objects have itemType property
                // tl.layers[layerIndex].frames[frameIndex].elements[eNum] is a SymbolInstance and therefore as an actionScript property
                if (libItem.itemType == "button") {
                    if (editNeeded(tl.layers[layerIndex].frames[frameIndex].elements[eNum].actionScript)) {
                        tl.layers[layerIndex].frames[frameIndex].elements[eNum].actionScript = editAS(tl.layers[layerIndex].frames[frameIndex].elements[eNum].actionScript);
                // check for code directly attached to this instance, if component
                if (libItem.itemType == "component") {
                    if (editNeeded(tl.layers[layerIndex].frames[frameIndex].elements[eNum].actionScript)) {
                        tl.layers[layerIndex].frames[frameIndex].elements[eNum].actionScript = editAS(tl.layers[layerIndex].frames[frameIndex].elements[eNum].actionScript);
                if (libItem.itemType == "movie clip") {
                    // check for code directly attached to this instance, if movieclip
                    if (editNeeded(tl.layers[layerIndex].frames[frameIndex].elements[eNum].actionScript)) {
                        tl.layers[layerIndex].frames[frameIndex].elements[eNum].actionScript = editAS(tl.layers[layerIndex].frames[frameIndex].elements[eNum].actionScript);
                    // and then check if this is a movieclip that has code on its timeline  
                    // or other movieclips/buttons on its timeline etc
                    // linked library items checked from findLibrary_mcAS.  relative path difficult because library items may be attached to any timeline
                    // and in fact, the same library item may be attached to different timelines and have different relative paths
                    if (!memberOfA(checked_mcA, libItem)) {
                        //fl.trace("libItem "+libItem.name);
                        checked_mcA.push(libItem);
                        findAS(libItem.timeline);
                //end itemType = "movie clip"
            // end if-elementyType=="instance"
        //end eNum loop
    // end if-startFrame
function findLibrary_mcAS(){
    libraryItemsA = doc.library.items;
    for (var libItemNum = 0; libItemNum<libraryItemsA.length; libItemNum++) {
        libraryItem = libraryItemsA[libItemNum];
        if (libraryItem.linkageExportForAS && !memberOfA(checked_mcA,libraryItem) && libraryItem.itemType == "movie clip") {
            checked_mcA.push(libraryItem);
            findAS(libraryItem.timeline);
function editAS(as){
    for(var rIndex=0;rIndex<replacementA.length;rIndex++){
        as = as.split(replacementA[rIndex][0]).join(replacementA[rIndex][1]);
    return as;
function editNeeded(as){
    if(as==undefined||as==null){
        return false;
    } else {
        if(as.length>0){
            for(var rIndex=0;rIndex<replacementA.length;rIndex++){
                if(as.indexOf(replacementA[rIndex][0])>-1 && as.indexOf    (replacementA[rIndex][1])==-1){
                    return true;
            // as defined, as.length>0, no replacement strings found
            return false;
        } else {
            // as defined,as.length==0
            return false;
function memberOfA(a,e){
    for(i=0;i<a.length;i++){
        if(a[i]==e){
            return true;
    return false;

Similar Messages

  • Trying to find out which line of AS2 code is causing flash player crash in firefox & chrome browser

    Hello,
    I have a flash movie (AS2) created for the website visitors' registration and this flash movie is longer in size than the browser's window height so that site visitors need to browse down using browser's vertical scroll bar to see all of the contents in the flash movie.
    When users click the submit button in the flash movie then
    Firstly, the AS2 code attached to the      on(release){    event scrolls the html page back to the top (because the user must have scrolled down to view the flash movie content at the bottom of the page and I want the html page to go back to the top of the page)
    getURL("javascript:window.scroll(0,0)");    // this is the AS2 code I have used for scrolling the page back to the top. I suspect this code is causing the flash player crash in firefox and google chrome
    and also tells the _root of the flash movie to go to and stop at a frame named "StartEnteringData".
    _root.gotoAndStop("StartEnteringData")     //making the _root of the movie to go to the "StartEnteringData" frame
    this.gotoAndStop("Start")                                  //making this movieclip which contains the registation form to go to the first blank frame labelled "Start"
    The "StartEnteringData" frame on the _root of the flash movie has AS2 code for entering the registration data to the database by using loadVariablesNum( ... )
    Here's my question.
    Almost everytime the user/visitor click the Submit button, the firefox browser users and google chrome browswer users see the Flash Player CRASH...
    This doesn't happen often with the website visitors using MS Internet Explorer.
    I have read some www articles (by searching google) saying that Adobe Flash Player in Firefox and Chrome browsers crash a lot.
    But, for my flash movie, everytime the visitor clicks the submit button, flash player crashes. Therefore, I guess it is the AS2 code that I'm using (associated with the on(release) event of the submit button) is causing the flash player crash rather then the flash player compatibility with Firefox and Chrome browsers.
    So, someone please tell me what's causing the flash player crash.
    Is there a better code to make a web page to go back to the top?
    I am also using the codes shown below on the first keyframe of the main movie. (_root)
    //For custom flash right click menu:
    var myMenu_cm:ContextMenu = new ContextMenu();
    myMenu_cm.builtInItems.zoom = true;
    myMenu_cm.builtInItems.quality = false;
    myMenu_cm.builtInItems.print = false;
    myMenu_cm.builtInItems.save = false;
    myMenu_cm.builtInItems.loop = false;
    myMenu_cm.builtInItems.rewind = false;
    myMenu_cm.builtInItems.play = false;
    myMenu_cm.builtInItems.forward_back = false;
    _root.menu = myMenu_cm;
    //For tiling the flash movie background with bitmap picture
    import flash.display.BitmapData;
    var tile:BitmapData = BitmapData.loadBitmap("pattern");
    this.beginBitmapFill(tile);
    this.lineTo(Stage.width, 0);
    this.lineTo(Stage.width, Stage.height);
    this.lineTo(0, Stage.height);
    this.lineTo(0, 0);
    this.endFill();

    by repeatedly commenting out lines of code you suspect are causing the crush and retesting you should be able to pinpoint the problem.

  • Search t-code of report group in GR55

    Dear Experts,
    How can i search t-code of report group in GR55;
    for example :
    The report group: 6OI2 in T-code: gr55 is bound wtih t-code : S_ALR_87013003 ;
    Br
    Sophie

    Hi Sophie,
    In table TSTCP, maintain the parameters field with RWD_SREPOVARI-REPORT6OI2 and execute. You may see multiple transactions assigned to GR55 report 6OI2. You can replace 6OI2 with other report groups to find report painter/writer transactions in SAP.
    RWD_SREPOVARI-REPORT*6OI2* means -
    RW - Report Type
    SREPOVARI - Table that stores Reports and Variants
    REPORT - Name of Report
    There are many ways to find a transaction assignment, i guess this is an easier one for report painter transactions.
    Best Regards,
    Venkata Ganesh Perumalla

  • 2.1 RC1 - Search Source Code results - Go To package name doesn't work

    Hi.
    When I perform a search through Reports -> Data Dictionary -> PLSQL -> Search Source Code and I right-click -> Go To ... on a row of the results, nothing happens.
    Regards.
    Alessandro
    Edited by: archimede on Dec 2, 2009 12:29 PM

    Sorry Vadim, but the procedure to reproduce the bug is different:
    1) Open the Reports tab
    2) Expand Data Dictionary node
    3) Expand PLSQL node
    4) Click on Search Source Code
    5) Select a Connection
    6) Click on Text Search, enter a string to search and click Apply
    7) On the results page, right-click any line and select Go To <package name>
    8) The package opens on line 1, not the line shown on step 7
    While we're at it, do you think it would be possible to make the above process more user-friendly? Like, for example, right-clicking on a Connection and have the Search Source Code option there (that would take me directly to step 6)?
    Regards.
    Alessandro

  • Dummy Guide needed for converting AS2 code into AS3

    I have to convert my existing AS2 code into AS3, but I might as well be reading chinese. I never even began to learn AS3, it was still fairly new at the time and the class ended before we had an opportunity to even touch on it. My major was not web design, it was the print side of design. I took an additional class, after I graduated, to learn web design and our teacher told us, basically, that we were designers, not coders so we won't be getting much into actionscripting, beyond the basics. At the time I was relieved, but looking back, I really wish we would have gotten more into it. Bottom line, I need to learn now.
    Is there ANYONE that can help me out? I will list my code below, buy I am way beyond lost any help that can be provided, I would be so grateful!!!!
    On the main timeline I have the basic..
    stop(); -- I found the AS3 version, but I don't know what I'm looking at. I get "not_yet_set.stop()" and there are are 8 options I can choose from. I just want the timeline to stop until I tell it where to go next. And what is "not_yet_set"
    Then I have my buttons, which are, basically...
    on (release) {
    gotoAndStop("Home");
    Or "gotoAndPlay("Whatever");"
    I also have buttons for scrolling...
    on (press) {
    play();
    on (release) {
    stop();
    AND
    on (press) {
    _root.AboutMe_Controller.gotoAndPlay(…
    on (release) {
    _root.AboutMe_Controller.gotoAndStop(…
    For the on(release) command, this is what I found as the AS3 version: not_set_yet.dispatchEvent()

    because that's really as1 code, you have steeper learning curve than going from as2 to as3.
    first, remove all code from objects, assign instance names to your buttons and you can then start on as3:
    // so, if you name your home button, home_btn:
    home_btn.addEventListener(MouseEvent.CLICK,homeF);
    function homeF(e:MouseEvent):void{
    gotoAndStop("Home");
    p.s.  the not_yet_set stuff is there because you tried to use script assist or some other actionscript shortcut.

  • Noob question: How to update very basic as2 code to as3.

    I've been asked to update a web banner with old as2 code, and not being a coder or a regular Flash user, I'm stuck with what I'm sure is a simple problem. The code in the opening frame is;
    function timeOut(pauseTime) {
      stop();
      pauseTimer = setInterval(this, "goPlay", pauseTime);
    function goPlay() {
      play();
      clearInterval(pauseTimer);
    After that there are a few frames that include timeOut(500); code, which seems basic enough, so I imagine my problems are all in the opening code.
    I get 4 errors that all refer to Frame 1;
    1120: Access of undefined property pauseTimer.
    1067: Implicit coercion of a value of type CapOne_MM_648x480b_fla:MainTimeline to an unrelated type Function.
    1067: Implicit coercion of a value of type String to an unrelated type Number.
    1120: Access of undefined property pauseTimer.
    Can anyone help or point me in the right direction? Thanks.

    For the code you show there would be no need to convert to AS3 since between AS2 and AS3 it hasn't changed.  One thing you do need to do is declare variables and since pauseTimer is used in mutliple functions it needs to be declared outside any functions.  Another thing you need to do is specify the variable types, including the arguments passed into function.  As for the setInterval call itself it appears to be written incorrectly....
    var   pauseTimer:Number;
    function timeOut(pauseTime:Number) {
          stop();
         pauseTimer = setInterval(goPlay, pauseTime);

  • Help! Convert simple Flash AS2 code to AS3

    Hi everyone,
    I'm a Flash beginner and followed a tutorial: http://www.webwasp.co.uk/tutorials/018/tutorial.php ... to learn how to make a "live paint/draw" effect. I didn't realize  that if I made something in AS2, I wouldn't be able to embed it (and  have it work) into my root AS3 file, where I've got a bunch of other  stuff going on. I've tried following tips on how to change AS2 code to  AS3, but it just doesn't work. I know it's simple code, and that some  genius out there can figure it out, but I'm at a loss. Please help!
    Here's the AS2 code:
    _root.createEmptyMovieClip("myLine", 0);
    _root.onMouseDown = function() {
       myLine.moveTo(_xmouse, _ymouse);
       ranWidth = Math.round((Math.random() * 10)+2);
       myLine.lineStyle(ranWidth, 0xff0000, 100);
       _root.onMouseMove = function() {
          myLine.lineTo(_xmouse, _ymouse);
    _root.onMouseUp = function() {
       _root.onMouseMove = noLine;
    Thanks in advance!
    Signed,
    Nicolle
    Flash Desperado

    Considering the code is on timeline:
    var myLine:Sprite = new Sprite();
    addChild(myLine);
    var g:Graphics = myLine.graphics;
    addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
    function onMouseDown(e:MouseEvent):void {
         var ranWidth:Number = Math.round((Math.random() * 10) + 2);
         g.clear();
         g.lineStyle(ranWidth, 0xFF0000, 1);
         addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);
         addEventListener(MouseEvent.MOUSE_UP, onMouseUp);
    function onMouseMove(e:MouseEvent):void {
         g.lineTo(mouseX, mouseY);
    function onMouseUp(e:MouseEvent):void {
         removeEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);
         removeEventListener(MouseEvent.MOUSE_UP, onMouseUp);

  • Help plsss converting this AS2 code to AS3!!

    here is a little AS2 code that is in fact a photo gallery
    that i use in my site and i want to convert it to AS3 but i just
    cant seem to get it right... could someone plssss help me?!?!

    with what part are you having trouble?

  • Need assistance converting some AS2 code to AS3

    Hi,
    I have some simple AS2 code that brings in a MovieClip when
    you click a button. This is currently AS2, and I would rather
    convert it to AS3. I also have some code which closes the MovieClip
    upon button Click.
    The code I am currently using is below:

    addMC is the name of one of the event handler functions, not
    the button(s). the button instance names are: addButton and
    removeButton.
    To have three of them, duplicate what you see and have new
    variables, functions, and button names for all three sets, adjusted
    appropriately.
    I'm pretty sure this isn't over yet, I'm just giving you code
    per your defined scenario, which may have a hole or two in it. Try
    it out and see what you really want to do, then come back when you
    find out things need to be tamed in some way or aren't working as
    you want. There are more complicated ways to deal with a situation
    depending on what you really want, and I'm one who prefers to see
    some work done at your end that shows you've tried something (I'm
    not mean, much, I just have this thing about learning by doing).

  • Change as2 code to as3

    I used a tutorial http://www.flash-game-design.com/flash-tutorials/funky-flash-website-tutorial-5.html to make a menu for my application, I've tried following tips on how to change AS2 code to AS3, but it just doesn't work.
    menu = ["bulls", "about", "roster", "schedule"];
    var current = menu[0];
    for (var i = 0; i<menu.length; i++) {
    var b = menu[i];
    this[b+"_btn"].stars._visible = false;
    this[b+"_btn"].txt = b;
    this[b+"_btn"].onPress = function() {
    _root.site[current+"_btn"].stars._visible = false;
    _root.site[this.txt+"_btn"].stars._visible = true;
    current = this.txt;
    _root.site.content.gotoAndStop(this.txt)
    this[current+"btn"].stars._visible = true;
    this.onEnterFrame = function() {
    this[current+"_btn"].stars.s1._rotation += 1;
    this[current+"_btn"].stars.s2._rotation += 0.5;
    Thank you,
    Glenn

    Just a note. Function declarations in a loop is an EXTREMELY bad practice that will lead to many problems if it doesn't have some already. So, the following lines:
    for (var i:int = 0; i<menu.length; i++) {
        var b:String = menu[i];
        this[b+"_btn"].stars.visible = false;
        this[b+"_btn"].addEventListener(MouseEvent.CLICK,fn);
        this[b+"_btn"].txt=b;
        function fn(e:MouseEvent):void{
            this[current].stars.visible = false;
            var nam:String=e.target.parent.name;
            this[nam].stars.visible = true;
            current = nam;
            //MovieClip(root).site.content.gotoAndStop(this.txt)
    should be:
    for (var i:int = 0; i < menu.length; i++) {
         var b:String = menu[i];
         this[b+"_btn"].stars.visible = false;
         this[b+"_btn"].addEventListener(MouseEvent.CLICK,fn);
         this[b+"_btn"].txt=b;
    function fn(e:MouseEvent):void {
         this[current].stars.visible = false;
         var nam:String=e.target.parent.name;
         this[nam].stars.visible = true;
         current = nam;
         //MovieClip(root).site.content.gotoAndStop(this.txt)

  • What are changes between FP 10.0.42.34 and 10.0.45.2 that could cause AS2 code to run differently?

    Hi, I am trying to debug a large Flash reading literacy application which is written in AS2. Everything works in 10.0.42.34. When our school customers upgrade to 10.0.45.2 they get blocked from proceeding with training.
    The main movie has loaded an application to run a sequence of tutorial movieclips, driven by an xml input.
    The application waits for each background plus movie to load and the plays the movie.
    It then unloads the movie and background and proceeds to the next movie/background.
    I am running the debugger in CS4 in both FP 10.42.34 and FP 10.0.45.2, the two [UnloadSWF] trace outputs happens in both, but the next step is missed. I am delving into the code right now, but I hope that there may be a hint in the changes made.
    I see no errors or security sandbox issues in the trace output.
    Can someone tell me what main changes there are in FP 10.0.45.2 that could cause AS2 code to run differently?
    Currently we are going to tell our customers that they must downgrade Flash Player to keep their kids learning to read.
    Thanks,
    Sue W.

    All these bug reports are probably describing same problem:
    http://bugs.adobe.com/jira/browse/FP-3993
    http://bugs.adobe.com/jira/browse/FP-4137
    http://bugs.adobe.com/jira/browse/FP-4121
    Not yet any word from Adobe that this is considered a bug worth fixing.
    I would also like to add that the bug failing to load or run older AS1/2 swfs is present in both latest release version FP 10.0.45.2 and FP 10.1.51.95 (beta 3). So it does not look like it has been fixed with 10.1

  • 30EA2 - Search Source Code results - Go To package name problem

    As mentioned here 2.1 RC1 - Search Source Code results -> Go To <package name> doesn't work , Reports -> Data Dictionary -> PLSQL -> Search Source Code -> right-click -> Go To doesn't go to the specific line: can this be fixed?
    Alessandro

    Sorry Vadim, but the procedure to reproduce the bug is different:
    1) Open the Reports tab
    2) Expand Data Dictionary node
    3) Expand PLSQL node
    4) Click on Search Source Code
    5) Select a Connection
    6) Click on Text Search, enter a string to search and click Apply
    7) On the results page, right-click any line and select Go To <package name>
    8) The package opens on line 1, not the line shown on step 7
    While we're at it, do you think it would be possible to make the above process more user-friendly? Like, for example, right-clicking on a Connection and have the Search Source Code option there (that would take me directly to step 6)?
    Regards.
    Alessandro

  • How to get component path in java code

    Hi everybody,
    I have my custom component with custom folders with pictures. My custom component works with pictures. I need to know PATH to this custom component in my java code.
    Thank you
    Martin

    Check out methods in the following classes: LegacyDirectoryLocator and DirectoryLocator.
    Jonathan
    http://jonathanhult.com

  • Is the "ActionScript 2.0 compiler" (mentioned in latest AIR 3.8 beta notes) for AS2 code?

    This page says:
    "ActionScript 2.0 Compiler: The Actionscript Compiler 2.0 has been incorporated into the AIR SDK 3.8 (named 'AIR SDK 3.8 & Compiler') and retired as a separate download from Adobe Labs on March 14, 2013."
    I'm working on an AIR Mobile project where we would probably be saved about 6 months of intensive work if some of our legacy AS2 code could be compiled and run in AIR Mobile for iOS. So if there is actually an "ActionScript 2.0 Compiler" in AIR SDK 3.8, that would be fantastic to hear.
    However I suspect that this note has nothing to do with actually "compiling ActionScript 2.0 code"; I suspect this simply refers to version 2.0 of the "ActionScript Compiler". (Which is of course the same as the old "Flex Compiler." Which of course had nothing to do with the "Flex framework".)
    Clarification would be appreciated!

    Thanks Apocalyptic0n3.
    Anton, I was not mixing definitions, Adobe was. AS2 is "ActionScript 2.0". Adobe made a page that says that the "ActionScript 2.0 Compiler" is now included in AIR 3.8. Hence my desire for clarification.

  • Problem translating AS2 code

    Hi
    I'd appreciate it if anyone can help me with this.
    I have a basic menu that I created in AS2, this can be seen
    here:
    http://www.qwerty-design.co.uk/example2.html
    I have the menu working in AS3 but I just can't get the
    buttons to stay down like they do in this example. My scripting
    knowledge is limited and I need to get this sorted by Monday.
    Please help.
    if it would help I can post the AS2 code.
    My code so far

    Tried the code and I think we are nearly there, but there are
    two small problems,
    1. I need one the first button to be down at the start
    2. When I click one of the buttons an error is thrown up as
    follows
    TypeError: Error #1009: Cannot access a property or method of
    a null object reference.
    at Test_fla::MainTimeline/onButtonClicked()
    The code now looks like this:

Maybe you are looking for