Calling a function in main mxml  file from a component

I have a main mxml file for an application.
Within that file I have a viewStack with 3 components which
are in separate mxml files.
I have a function written in Action Script in the main
application that I want to call from the 3 components.
How is this done?
Ta
Mike

Thanks for the help. I got it working using ntsiii's method
(which is more straight forward but maybe not good practice?)
though the line
private var _appMain:Application = Application.application
gave me the error message:
1118: Implicit coercion of a value with static type Object to
a possibly unrelated type mx.core:Application.
So i changed it to:
private var _appMain:* = Application.application
Which made it work, I don't really understand why.
Thanks
Mike

Similar Messages

  • How to call a function in one .js file from another .js file

    Hello Techies,
    I am trying to call a function in two.js file from one.js file.
    Here is my code
    one.js
    <script>
    document.write("<script type='text/javascript' src='/htmls/js/two.js'> <\/script>");
         function one()
                        var a;
                       two(a);
              }two.js
                  function two(a)
                          alert("two");
                      }But the function two() is not working.
    How can I do this one??
    regards,
    Krish

    I think there is a syntax error in line
    document.write("<script type='text/javascript' src='/htmls/js/two.js'> <\/script>");
    end tag <\/script> is wrong.

  • Calling a function in an EXE file from Java Program

    Hi Im having a function which is written in c program.i need to call that function from my java program, if i create a shared library (DLL) for my C code then it works but my requirement is i dont want to create that DLL , like in it would be an executable and my java code should access that function in that C program

    I understand the usage od a DLL but the thing is if i convert the exe to a DLL
    the server doesnt start at all so what i need is that i dont want to change
    that .EXE into a .DLL,let it be an executable. that executable is in running mode
    and through my java program i need to call a function in that EXE file.
    Is ther any way to do it?Nope, but you have another problem: why can't you separate your server program
    into a .dll part and a startup part? Both, when properly linked against each other
    should give you an executable file.
    kind regards,
    Jos

  • Calling a component from a the main.mxml file

    How do I call a component from a the main.mxml file?
    <mx:Button id="btnNew" label="Launch Component " click="getComponent()" />
    main.mxml (Has the button, that I would like to launch getcomponent.mxml)
    getcomponent.mxml (The file I would like to call) (This file also has the ViewStack)
    For some reasoning it's not seeing the bpVS(view stack id). I'm getting Access of undefined property bpVS error.
    <!-- Main.mxml  -->
    <mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml"
    xmlns:components="components.*"
    width="100%"
    height="100%"
    minHeight="0"
    backgroundAlpha="0">
    <mx:Script>
      <![CDATA[                    
       private function getComponent():void{
        bpVS.selectedIndex = 1;
      ]]>
    </mx:Script>
    <!-- GetComponent.mxml -->
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
    layout="absolute"
    xmlns:view="components.view.*">
    <mx:ViewStack  id="bpVS"
      top="69" left="180.5"
      width="100%" height="100%"
      resizeEffect="Resize"
      moveEffect="Move" showEffect="Fade"
      hideEffect="Fade">
    </mx:ViewStack>
    <mx:VBox id="vbTB" top="69" verticalGap="0">
    <mx:ToggleButtonBar
        id="payTB"
        direction="vertical"
        dataProvider="{bpVS}"
        width="180" useHandCursor="true" buttonMode="true""
        resizeEffect="Resize"
        moveEffect="Move" showEffect="Fade" hideEffect="Fade" >
      </mx:ToggleButtonBar>
        </mx:VBox>
    Thank you

    It won't see it just by creating the namespace that contains it.  There has to actually be an instance of it in the application.  So in your case, your main application file (lets call it MyApp.mxml) would look something like this:
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
         xmlns:components="components.*">
         <components:Main id="main"/>
         <components:GetComponent id="getComp"/>
    </mx:Application>
    Then, you can reach down (mind you this isn't best practice) into those components to access their public properties.  In a script block in MyApp.mxml, you could access the VBox with getComp.vbTB.
    I don't know the ins and outs of your application, but perhaps Main is the main application, so then you would add GetComponent as a child of it instead of both Main and GetComponent being child components of the MyApp application.  Does that clear up the confusion?

  • How to access component's control property from main .mxml file

    I have a main .mxml while in which i imported custom
    "popUpWindow" component using "import component.popUpWindow"
    statement. In main .mxml file I display later on that component as
    popUp window using popUp manager class. Once component is
    displayed, how can i access using actionscript component's
    TextInput control (specifically its .text property) from my main
    .mxml file?
    thanks

    I posted this answer elsewhere, maybe it will help:
    First, save the new component wherever you keep your
    components, let's say you call it "MyPopWindow.mxml"
    Assign public variables for the string in both the main app
    and the popup.
    In your case, in the main app:
    Code:
    public var myText:String = "whatever the text field should
    say.";
    and then in the pop up mxml:
    Code:
    [Bindable]
    public var myText;
    Then, in the main mxml file:
    Code:
    // define the window type
    private var popWin:MyPopWindow;
    private function popMeUp(event:MouseEvent):void{
    popWin =MyPopWindow(PopUpManager.createPopUp(this,
    MyPopWindow, true));
    popWin.myText = myText;
    The important things here to notice is the name of the
    component (i.e. the file) is used. A variable is created for the
    window, and TYPED to your file name. Then you use the constructor
    you already had, but again use your type. The "true" is optional
    and gives you a modal popup window.
    Lastly, assign the variable in the window (I called mine
    popWin) to the variable in the main file you want to pass.

  • Passing a variable from an mxml component to the main mxml file

    Hey guys,
    I have a popup titlewindowt which is defined as a component in a separate mxml component file.
    In the popup window i have an inputbox and a button
    When i press the button in that popup window i want the text in the input box to be transfered across to a variable in my main mxml file
    How can i do this?
    Thanks
    Chris

    Since you are already tied in to the top level application then I would add a listener at the application level and in the component do a:
      FlexGlobals.topLevelApplication.dispatchEvent(....)
    However, I can't help but encourage you to decouple this functionality and pass events around rather than what you are currently doing.
    There are a few ways you can do this.  One is to use an MVC framework to model your application after.
    A simpler approach even would be to have the component simploy dispatch events to itself and have whatever is creating the component listen for the events and do higher level functionality.
    Good Luck!

  • How to access component's control from main .mxml file?

    I have a main .mxml while in which i imported custom
    "popUpWindow" component using "import components.popUpWindow"
    statement. In main .mxml file I display later on that component as
    popUp window using popUp manager class:
    var popUpWin:IFlexDisplayObject;
    popUpWin = PopUpManager.createPopUp(this, popUpWindow, true);
    Once component is displayed, how can i access using
    actionscript component's TextInput control (specifically its .text
    property) from my main .mxml file?
    thanks

    msabljic , sounds like you ran into the same problem as me,
    perhaps... I posted a question similar to yours around the same
    time. Take a look at the responses I got and maybe that will help
    answer your question.
    Here's a link to the post
    http://www.adobe.com/cfusion/webforums/forum/messageview.cfm?forumid=60&catid=585&threadid =1285775&enterthread=y

  • Calling a function in a flex app from a loaded SWF

    How can I call a function in a flex application from a loaded
    swf file?

    Two ways:
    Application.application returns a reference to the top-level
    application scope. You can access any public member, var, function,
    component, etc through that reference.
    Dispatch an event event form the loaded swf and use a event
    handler in the main app. All the gurus advise this as best
    practice, to ensure "loose coupling" It is also pretty easy,
    especially if you use a bubbling event.
    Tracy

  • Is it possible to call a class in a jar file from JNI environment?

    Hi
    Is it possible to call a class in a jar file from JNI environment?
    Thanks in advance.

    Could you explain a bit more what you are trying to do? (In other words, your question is vague.)
    o If your main program is written in C, you can use JNI to start a JVM, load classes from the jar of your choice, and call constructors and methods of the objects defined in the jar.
    o If your main program is java, and has been laoded from a jar, a JNI routine can call back into java to use the constructors and methods of classes defined in the jar(s).

  • Calling C Functions in existing DLL's from Java

    Hi Guys ,
    The tutorial in this site talks about creating ur own DLL's and then calling them from Java . I need to call C functions in existing DLL's from Java . How do I go about doing this ? . Any help on this would be much appreciated.
    regards
    murali

    What you are interested in can be done with what's called "shared stubs", from the JNI book (http://java.sun.com/products/jdk/faq/jnifaq.html), although you don't need the book to do it (I didn't).
    The example code will call functions with any number and kind of parameters, but doing that requires some assembly language. They supply working examples for Win32 (Intel architecture) and Solaris (Sparc).
    If you can limit yourself to functions to a single function signature (number and types of parameters), or at least a small set that you know you'll call at compile time, you can modify the example so that the assembly language part isn't needed, just straight C code.
    Then you'll have one C library that you compile and a set of Java classes and you can load arbitrary functions out of arbitrary dynamic libraries. In my case you don't even have to know what the libraries and functions are ahead of time, the user can set that up in a config file.
    You mentioned doing this with Delphi. One thing to watch out for is C versus Pascal (Win32) function calling convention. A good rule of thumb; if it crashes hard, you probably picked the wrong one, try the other. :-)

  • Calling a method in the view controller from the component controller

    Hi
    Is there anyway to call a method in the view implementation from the component controller??
    Thanks
    jack

    Thanks for all your replies. I want this kind of a functionality because Im trying to invove a DC (Child DC) from a Parent DC such that the Child DC's view is displayed onto the view container of the Parent DC. I have embedded using 'interface view of a component instance' in the Parent Window and am able to create the component and set usage though the onPlugDefault of the Child View.
    But I observe that when i make a call from the parent, the flow is like this:
    1. The wdDoInit of the Child Component Controller gets triggered first.
    2. Then the wdDoInit of the Child's <b>VIEW</b> gets triggered
    3. and <b>THEN</b> the onPlugDefault of the Child Component Interface View
    What I had actually wanted was to Fire onPlugDefault where Im calling a method LoadData(), after which the Child DC's view must be triggered so it can display the fetched data.
    What is actually happening is the view gets displayed, but no data is displayed in the view.
    Right now I have just given a work around where Im triggering <b>LoadData()</b> of the <b>COmponent COntroller</b> from the <b>wdDoInit</b> of the <b>VIEW</b>.
    Is there a better way to do this? I find it strange that I have to load the Data from the view.
    Thanks
    Jack

  • How to call one Main MXML from another main MXML file and pass values between them?

    Hi,
    I am trying to populate a datagrid from a XML file ,which I have done successful
    I am able to get data out of the datagrid on clicking on any element
    Now when I click on any element in datagrid I want call a new mxml file which is also have Aplication tag and I want to pass that value of clicked element to it
    This is the code I am using for getting data from XML into data grid in 1st MXML file and the XML file used.
    <?xml version="1.0" encoding="utf-8"?>
    <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
                    xmlns:s="library://ns.adobe.com/flex/spark"
                     xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"  initialize="exp.send()">
         <fx:Declarations>
             <s:HTTPService id="exp" url="expLab1.xml" result="
    resultHandlerQuestionBar(event)"/>
         </fx:Declarations>
         <s:Panel x="74" y="218" width="485" height="333" title="Work On Configured Experiments" id="p1" fontSize="14" chromeColor="#9BFDAB" dropShadowVisible="false" contentBackgroundColor="#E4EEE6" contentBackgroundAlpha="1.0" backgroundColor="#67B6AC" textAlign="left">
              <mx:DataGrid  x="35" y="33" width="338" height="88" dataProvider="{experimentdetails}" chromeColor="#FCFCFC" contentBackgroundColor="#FFFFFF" selectionColor="#FAFBFD" rollOverColor="#FCFDFF" focusColor="#FCFDFD" itemClick="onItemClick( event );">
                  <mx:columns>
                     <mx:DataGridColumn id="j1" dataField="experimentName" headerText="" itemRenderer="jaya">
                     </mx:DataGridColumn>
                  </mx:columns>
             </mx:DataGrid>
         </s:Panel>
         <fx:Script>
             <![CDATA[
                 import mx.collections.ArrayCollection;
                 import mx.controls.Alert;
                  import mx.events.FlexEvent;
                 import mx.events.ListEvent;
                 import mx.rpc.events.ResultEvent;
                 [Bindable]
                 private var workbenchname:ArrayCollection;
                  //private var a:String;
                 private function resultHandlerQuestionBar(event:ResultEvent):void
                    experimentdetails=event.result.List.experimentList.experiment;  
                 [Bindable]
                 private var experimentdetails:ArrayCollection;
                  private var alert:Alert;
    private var data:String;
                 private function onItemClick( e:ListEvent ):void {
       data= experimentdetails.getItemAt(e.rowIndex).experimentName.toString();
                    alert=Alert.show(experimentdetails.getItemAt(e.rowIndex).experimentName.toString());
             ]]>
         </fx:Script>
    </s:Application>
    and the xml file is:
    <?xml version="1.0" encoding="UTF-8"?>
    <List>
       <workbench>Basic Movement</workbench>
         <experimentList>
           <experiment>
             <experimentName>Distance with varying time</experimentName>
             <Rating>2</Rating>
             <expNO>1</expNO>
           </experiment>
           <experiment>
             <experimentName>Distance with Constant time</experimentName>
             <Rating>1</Rating>
             <expNO>2</expNO>
           </experiment>
           <experiment>
             <experimentName>Time taken while decelerating</experimentName>
             <Rating>3</Rating>
             <expNO>3</expNO>
           </experiment>
          </experimentList> 
    </List>
    Now the code for 2nd MXML is as follows
    <?xml version="1.0" encoding="utf-8"?>
    <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
                         xmlns:s="library://ns.adobe.com/flex/spark"
                         xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
          <fx:Declarations>
                <!-- Place non-visual elements (e.g., services, value objects) here -->
          </fx:Declarations>
          <s:Label text="lable1" >
          </s:Label>
    </s:Application>

    Check out ExternalInterface class:
    http://livedocs.adobe.com/flex/3/html/help.html?content=passingarguments_2.html
    If this post answers your question or helps, please mark it as such.
    Greg Lafrance - Flex 2 and 3 ACE certified
    www.ChikaraDev.com
    Flex Training and Support Services

  • How to call methods from .mxml file from actionscript file

    I have a Example.as and a Test.mxml.
    In this Test.mxml, I have a function which is something like:
    public function doTest():void
         Alert.show("testing!");
    How do I from example.as call this function doTest() from Test.mxml?
    I tried declaring public var test:Test inside my Example.as but I'm still unable to call that function out.
    Any idea how?

    Hi Bryant,
    You need to create an instance of the component and then attach it to the display list then only you can access the Controls with in your component other wise the controls and components are not created or initialized that's why you are thrown the null object reference error.
    So you need to do somethink like below:
    var myTestObj:Test = new Test();
    this.addChild(myTestObj); //Adds the component to DisplayList(You need to add this line of code in order to avoid the error)
    myTestObj.doTest();
    If you add your component in mxml then the component will be automatically added to the display list and you dont need to add explicitly to the display list.
    <comp:Test id="myTestObj" />
    And now if in your actionscript you call myTestObj.doTest(); no error occurs and you can see the Alert message.
    Thanks,
    Bhasker

  • Access a component in an mxml file from a different mxml file

    Hi,
    I want to access a component in an mxml file 1 such as this one  <mx:Image id="img" width="101" height="200" source="{product.image}"/> using the
    id
    from the actionscript function from a different mxml file 2
    public function init():void
           HERE.addEventListener( MouseEvent.MOUSE_DOWN, beginDrag );    
    so i can make it dragable, Please help me  in this if u can urgently!!!!

    okay,
    I have the image component in ProductCatalogThumbnail.mxml, which has an id of "img"
    so, i created a public variable in the file and a public function that returns the value of the object.
    public var imagecopy:Object;
            [Bindable]
             public function imagecopyfunction():Object{
             imagecopy  = img;
             return imagecopy;
    now, I want to access this image in the mxml file ProductList.mxml in a function
      public function init():void
          ProductCatalogThumbnail.imagecopy.addEventListener( MouseEvent.MOUSE_DOWN, beginDrag );
         // accepting a drag/drop operation...
           this.area.addEventListener( DragEvent.DRAG_ENTER, acceptDrop );
           // handling the drop...
          //this.area.addEventListener( DragEvent.DRAG_DROP, handleDrop );
    I tried to use the variable, and then i tried to use the function:
    I got this error when I tried the variable : 1119: Access of possibly undefined property imagecopy through a reference with static type Class.
    ProductCatalogThumbnail.imagecopy.addEventListener( MouseEvent.MOUSE_DOWN, beginDrag );
    and this error when i tried the function:  1061: Call to a possibly undefined method imagecopyfunction through a reference with static type Class.
    ProductCatalogThumbnail.imagecopyfunction().addEventListener( MouseEvent.MOUSE_DOWN, beginDrag );
    i made sure i imported ProductCatalogThumbnail file in the beginning of my application.
    I am not sure what went wrong.

  • How do you call a function in an attached MovieClip from the current MovieClip?

    Hi there,
    I have this MovieClip A (converted as a symbol) and put in my
    main MovieClip B using attachMovie() , and I am wondering how I can
    call a function defined in A from within B.
    Is it possible?
    Thanks

    Hi kglad,
    yes, I did the attachMovie of the symbol B and it seems like
    none of the ActionScript written in B was not carried over.
    This is how I built B into a symbol :
    (1) Two layers ( one for the ActionScript only, the other for
    the Components)
    (2) I defined the functions to be called remotely by A in the
    ActionScript layer
    (3) I selected all the components in the Components Layer and
    did a Convert To Symbol
    (4) I added the Symbol into A's Library
    (5) I used attachMovie to instantiate the Symbol of B
    I must have missed out something somewhere
    Thanks

Maybe you are looking for