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,
KrishI 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 youIt 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?
thanksI 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
ChrisSince 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?
thanksmsabljic , 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
muraliWhat 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
jackThanks 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?
ThanksHi 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
-
Cant oppen some word docs in Pages - it works with others
why cant I open some word documents in Pages - others work fine?
-
Export to PDF from Web teomlpate (wrong style)
Hi Gurus, i created a new portal style and used it as default portal style. The colors are shown in my portal "and" in my BI web templates. That means my web template uses the correct style. But if i export to Excel or PDF the style is not used. I ca
-
The bookmarks on my tool bar don't appear in my library. How do I restore
the bookmarks on my tool bar don't appear in my library. How do I restore? I run Mac OS with time machine.
-
Attaching a SAN Volume to a VM as a second disk
Hello All, I have recently setup a Failover Cluster in 2012 R2. I am trying to setup a new file server that uses DFS in a VM. I would like that VM to have direct access to the volume I created for files (as opposed to using an auxiliary mounted VHD
-
Hi Folks, I have a problem in deleting the Transport request . it says Request/task cannot be deleted because it contains locked objects. It contains the dictionary object which has been deleted from the database. I am trying to create a same object