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!
Similar Messages
-
Passing a variable from a movie clip to the main timeline
Hi,
I'm having trouble passing a variable from a movie clip in my
flash file to the main timeline.
I have a movieclip with the instance name IntroNav which
contains several buttons. Clicking a button sets the variable
"page" to a specific name, i.e. page = "home"
However, outside of the movie clip, on the main timeline I am
unable to call this variable, and "page" seems to have no value.
Can anyone tell me why this is and how to solve it?
ThanksUmm, yes ... declare your variables correctly.
var page:String = new String(); //proper complete
var page:String; //strict typing
var page:String = "home"; //stirct typing with value
declaration
Do not declare the variable in your buttons, you would have
to do so in every button and be constantly resetting the value.
Declare it on the main timeline at the lowest level. You do not
need to use it as a _global, you just need to resolve your path
issues. You can 'set' the variable value from a button, without any
problem, but you have to call to the variable correctly.
You do not 'name' a variable as "_root.page" , the '_root'
refers to the lowest level of the SWF or the main timeline, as does
a call to ' _level0' (that's a zero). If the variable is declared
on the main timeline, and you're calling from the MC/button or
anywhere you can refer to the variable by calling to it by
the proper path of '_root.page'
To set the variable from any of your button/MC instances
call:
_root.page = "value"; OR _level0.page = "value";
But you must have the varibale declared on the main timeline,
and only once and the playhead should be stopped or it will reset
the value to the default upon looping. -
LoadVars-using send to pass a variable from flash to php
For the life of me, I've tried everything:
I've researched LoadVars on Adobe forum, used David Powers'
books, googled 'flash to php', LoadVars, etc. and tried
sendAndLoad, send, and using $_POST, $_GET, $_REQUEST.
$HTTP_POSTVARS but I keep getting this same error. any advice
please?
I have a Unix server running Apache/PHP 4 - LoadVars worked
to load name-value pairs into an array -see thread)
My goal with this simple app is to prototype being able to
pass a variable from flash to a variable in php.
Parse error: syntax error, unexpected T_VARIABLE in
flash_to_SQL.php on line 5
Actionscript 2.0 code:
var c :LoadVars = new LoadVars();
c.testing = "123FOUR";
c.send ("
http://127.0.0.1/flash_to_SQL.php","_self","POST");
php code: (I also tried $_POST, $_GET, $_REQUEST.
$HTTP_POSTVARS)
<?php
//mysql 4.1.2, php 4 , NO mysqli
ecbo $_REQUEST ['testing'];
/?>var formData:LoadVars = new LoadVars();
formData.fname = "Name";
formData.send("
http://www.website.com/flash_php.php",
formData, "POST");
<?php
$name = $_POST['fname'];
echo $name;
?> -
How to pass a variable from one class to another class?
Hi,
Is it possible to pass a variable from one class to another? For e.g., I need the value of int a for calculation purpose in method doB() but I get an error <identifier> expected. What does the error mean? I know, it's a very, very simple question but once I learn this, I promise to remember it forever. Thank you.
class A {
int a;
int doA() {
a = a + 1;
return a;
class B {
int b;
A r = new A();
r.a; // error: <identifier> expected. What does that mean ?
int doB() {
int c = b/a; // error: operator / cannot be applied to a
}Thank you!elaine_g wrote:
I am wondering why does (r.a) give an error outside the method? What's the reason it only works when used inside the (b/r.a) maths function? This is illegal syntax:
class B {
int b;
A r = new A();
r.a; //syntax error
}Why? Class definition restricts what you can define within a class to a few things:
class X {
Y y = new Y(); //defining a field -- okay
public X() { //defining a constructor -- okay
void f() { //defining a method -- okay
}... and a few other things, but you can't just write "r.a" there. It also makes no sense -- that expression by itself just accesses a field and does nothing with it -- why bother?
This is also illegal syntax:
int doB() {
A r = new A();
r.a; // error: not a statement
}Again, all "r.a" does on its own is access a field and do nothing with it -- a "noop". Since it has no effect, writing this indicates confusion on the part of the coder, so it classified as a syntax error. There is no reason to write that. -
Is it possible to pass a variable from one animation to another?
I have multiple animations on the same page. I need to pass a variable from one to the other.
Animation One has this:
sym.setVariable("myVarOne", 1);
Animation Two has this:
var myVarOneInTwo=Edge.getComposition("EDGE-12345678").getVariable("myVarOne");
Seems like it should work, but kinda hard to tell. I put in:
console.log("myVarOneInTwo = " + myVarOneInTwo);
But I get: Javascript error in event handler! Event Type = timeline
So it seems that it doesn't like getting a variable from another animation.
Is there a way to pull a variable from one animation into another?Sorry also had to fix this:
var myVarOneInTwo=Edge.getComposition("EDGE-12345678").getVariable("myVar One");
To this:
var myVarOneInTwo=Edge.getComposition("EDGE-12345678").getStage().getVariable("myVar One"); -
How to pass a variable from HTML to Flash
I have built my flash ad banner in Flash 9 and now want the
HTML code to pass the url over to the flash movie that it should
jump to when clicked.
The info in the help file seems out of date for the latest
HTML template as it uses mainly JavaScript to get round IE's
dreadful embeding issue. So my problem is, how do I pass a variable
from the HTML to the actionScript specified int he Help file
(running on a full screen button) as shown below?
myButton_btn.onRelease = function() {
if (clickTAG.substr(0, 5) == "http:") {
getURL(clickTAG);
via the html code now used by Flash 9 which is like this:
<!-- saved from url=(0013)about:internet -->
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1" />
<title>Advert_long</title>
<script language="javascript"> AC_FL_RunContent = 0;
</script>
<script language="javascript"> DetectFlashVer = 0;
</script>
<script src="AC_RunActiveContent.js"
language="javascript"></script>
<script language="JavaScript" type="text/javascript">
<!--
// Globals
// Major version of Flash required
var requiredMajorVersion = 9;
// Minor version of Flash required
var requiredMinorVersion = 0;
// Revision of Flash required
var requiredRevision = 115;
// -->
</script>
</head>
<body bgcolor="#ffffff">
<!--url's used in the movie-->
<!--text used in the movie-->
<!--
Coping
with
Growing
Audio
Series
Theraputic stories
for children aged
4 to 9
-->
<script language="JavaScript" type="text/javascript">
<!--
if (AC_FL_RunContent == 0 || DetectFlashVer == 0) {
alert("This page requires AC_RunActiveContent.js.");
} else {
var hasRightVersion = DetectFlashVer(requiredMajorVersion,
requiredMinorVersion, requiredRevision);
if(hasRightVersion) { // if we've detected an acceptable
version
// embed the flash movie
AC_FL_RunContent(
'codebase', '
http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,115,0',
'width', '120',
'height', '600',
'src', 'Advert_long',
'quality', 'high',
'pluginspage', '
http://www.macromedia.com/go/getflashplayer',
'align', 'middle',
'play', 'true',
'loop', 'true',
'scale', 'showall',
'wmode', 'window',
'devicefont', 'false',
'id', 'Advert_long',
'bgcolor', '#ffffff',
'name', 'Advert_long',
'menu', 'true',
'allowScriptAccess','sameDomain',
'allowFullScreen','false',
'movie', 'Advert_long',
'salign', ''
); //end AC code
} else { // flash is too old or we can't detect the plugin
var alternateContent = 'Alternate HTML content should be
placed here.'
+ 'This content requires the Adobe Flash Player.'
+ '<a href=http://www.macromedia.com/go/getflash/>Get
Flash</a>';
document.write(alternateContent); // insert non-flash content
// -->
</script>
<noscript>
// Provide alternate content for browsers that do not support
scripting
// or for those that have scripting disabled.
Alternate HTML content should be placed here. This content
requires the Adobe Flash Player.
<a href="
http://www.macromedia.com/go/getflash/">Get
Flash</a>
</noscript>
</body>
</html>You should use SWFObject to embed your Flash. Not only does
it make
embedding more straightforward, it makes passing query
parameters very easy.
Check out:
http://code.google.com/p/swfobject/
Dave -
www.offroadfire.com
Head Developer
http://www.blurredistinction.com
Adobe Community Expert
http://www.adobe.com/communities/experts/ -
How to pass a variable from HTML to Flash 9
I have built my flash ad banner in Flash 9 and now want the
HTML code to pass the url over to the flash movie that it should
jump to when clicked.
The info in the help file seems out of date for the latest
HTML template as it uses mainly JavaScript to get round IE's
dreadful embeding issue. So my problem is, how do I pass a variable
from the HTML to the actionScript specified int he Help file
(running on a full screen button) as shown below?
myButton_btn.onRelease = function() {
if (clickTAG.substr(0, 5) == "http:") {
getURL(clickTAG);
via the html code now used by Flash 9 which is like this:
<!-- saved from url=(0013)about:internet -->
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1" />
<title>Advert_long</title>
<script language="javascript"> AC_FL_RunContent = 0;
</script>
<script language="javascript"> DetectFlashVer = 0;
</script>
<script src="AC_RunActiveContent.js"
language="javascript"></script>
<script language="JavaScript" type="text/javascript">
<!--
// Globals
// Major version of Flash required
var requiredMajorVersion = 9;
// Minor version of Flash required
var requiredMinorVersion = 0;
// Revision of Flash required
var requiredRevision = 115;
// -->
</script>
</head>
<body bgcolor="#ffffff">
<!--url's used in the movie-->
<!--text used in the movie-->
<!--
Coping
with
Growing
Audio
Series
Theraputic stories
for children aged
4 to 9
-->
<script language="JavaScript" type="text/javascript">
<!--
if (AC_FL_RunContent == 0 || DetectFlashVer == 0) {
alert("This page requires AC_RunActiveContent.js.");
} else {
var hasRightVersion = DetectFlashVer(requiredMajorVersion,
requiredMinorVersion, requiredRevision);
if(hasRightVersion) { // if we've detected an acceptable
version
// embed the flash movie
AC_FL_RunContent(
'codebase', '
http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,115,0',
'width', '120',
'height', '600',
'src', 'Advert_long',
'quality', 'high',
'pluginspage', '
http://www.macromedia.com/go/getflashplayer',
'align', 'middle',
'play', 'true',
'loop', 'true',
'scale', 'showall',
'wmode', 'window',
'devicefont', 'false',
'id', 'Advert_long',
'bgcolor', '#ffffff',
'name', 'Advert_long',
'menu', 'true',
'allowScriptAccess','sameDomain',
'allowFullScreen','false',
'movie', 'Advert_long',
'salign', ''
); //end AC code
} else { // flash is too old or we can't detect the plugin
var alternateContent = 'Alternate HTML content should be
placed here.'
+ 'This content requires the Adobe Flash Player.'
+ '<a href=http://www.macromedia.com/go/getflash/>Get
Flash</a>';
document.write(alternateContent); // insert non-flash
content
// -->
</script>
<noscript>
// Provide alternate content for browsers that do not
support scripting
// or for those that have scripting disabled.
Alternate HTML content should be placed here. This content
requires the Adobe Flash Player.
<a href="
http://www.macromedia.com/go/getflash/">Get
Flash</a>
</noscript>
</body>
</html>You should use SWFObject to embed your Flash. Not only does
it make
embedding more straightforward, it makes passing query
parameters very easy.
Check out:
http://code.google.com/p/swfobject/
Dave -
www.offroadfire.com
Head Developer
http://www.blurredistinction.com
Adobe Community Expert
http://www.adobe.com/communities/experts/ -
Is it possible to pass a variable from a shell script back to an Automator action?
Is it possible to pass a variable from a shell script back to an Automator action?
For instance, if I assign a value of foo to $var1 in my shell script how would I retrieve/pass that value in the next Automator action. I see that there is a variable called "Shell Script" but I can't any information on how to use it.red_menace,
Thanks but I still don't understand how to pass a single value that was set in the UNIX scipt back to Automator has a variable. Take the example below, I write 4 varables to STDOUT and all 4 are stored in a variable named "storage". How do I assign 1 of these values to the Automator "storage" variable? For instance if I wanted to assign the value of $var2 to "storage" , how would I do that? -
Passing Hierarchy Variable from URL to Template
Hi
How do I pass a Hierarchy Variable from URL Query String to the Web Template.
I am on NW04s SP11. Could anyone please help me out as it is urgent and we need to show case BI capabillities to Client.
Thank You
With Wishes
KrishThis link might be useful...
http://help.sap.com/saphelp_nw04/helpdata/en/72/726b11561e6b4fafc43d692c4e27ab/content.htm -
Passing a variable from a non DB block to a DB block
Im getting the error FRM-41003 when I try to pass a variable from a search screen i created to a results screen which is tied to a DB block. Ive searched this error and nothing seemed to match exactly what Im dealing with. Is it possible to do this? Anybody run into this issue?
This is the code/trigger launched when the search button is clicked from the search screen that is not tied to a DB block.
IF :NRHR1.NUMBER IS NULL THEN
Message('Please enter valid search criteria.', NO_ACKNOWLEDGE);
ELSE
:Global.BUFFER_VARIABLE := :NRHR1.NUMBER;
NUM_SEARCH;
END IF;
--This is the procedure that is called
PROCEDURE NUM_SEARCH IS
BEGIN
IF :NRHR1.NUMBER IS NOT NULL THEN
:Global.BUFFER_VARIABLE := :NRHR1.NUMBER;
ENTER_QUERY;
:NRHR.NUMBER := :Global.BUFFER_VARIABLE;
DECLARE
blk_id BLOCK;
s_old_order_by VARCHAR(100);
s_old_where VARCHAR(100);
BEGIN
blk_id := FIND_BLOCK( 'NRHR' );
s_old_where := GET_BLOCK_PROPERTY(blk_id, DEFAULT_WHERE);
SET_BLOCK_PROPERTY( blk_id, DEFAULT_WHERE, 'NRHR.NUMBER = ''' ||:Global.BUFFER_VARIABLE||'''');
EXECUTE_QUERY;
SHOW_WINDOW('WINDOW1');
SET_BLOCK_PROPERTY(blk_id, DEFAULT_WHERE, s_old_where);
END;
END IF;
EXCEPTION
WHEN NO_DATA_FOUND OR VALUE_ERROR THEN
MESSAGE('NO RECORDS');
HIDE_WINDOW('WINDOW1');
SHOW_WINDOW('SEARCH');
END;
I am using forms 10g
Edited by: user8606340 on Jan 28, 2010 8:17 AM -
Passing a variable from Captivate 5 to Flash CS5/ActionScript 3
I don't get it. Why is it so difficult to pass a variable from Captivate 5 to AS3/Flash CS5. I must be making it harder than it really is. I cannot figure it out. Can anyone help?
I have a variable (gpDone = 1) defined in Captivate 5 (it's a guided practice) on the last frame which will indicate that the learner has completed the guided practice file.
Now I want to pass that variable back to Flash/AS3 so I can evaluate whether I should show the Continue button so they can continue. They have to complete the guided practice before they can continue. If it is equal to 1, the Continue button will display. If it is not equal to 1, the Continue button will not display, but a message will display telling them they have to complete the guided practice in order to continue in the course.
Do I need to edit the Flash html? Or just put code in the Flash timeline or the associated AS file?
Help would be greatly appreciated. Thanks in advance.
CAHHaving the same problem...getting variable values FROM captivate to my inserted .swf (not widgets).
I can set the value from the .swf to the captivate using Object(parent.parent.parent.parent).captivateVariable but not the other way around.
Very frustrating.
I hope someone answers your query. -
Passing a variable from text to flash
How do you pass a variable from a text file to flash?
Check out Help for loadVariables.
Dave -
Head Developer
http://www.blurredistinction.com
Adobe Community Expert
http://www.adobe.com/communities/experts/ -
Passing variables from php to flash and the opposite
Hi guys, im trying weeks now to solve this problem but nothing yet
If someone could just tell me how to pass variables from flash to php and the opposite i would be thankful!!! Please help!I have recently had to learn this, so this may not be the best way but it worked for me
I suggest looking at the code below stripping out everything you don't need (e.g. the databse stuff) and just get a simple string going back and forward
have a go and post any problems here and I'll try and help
in flash i have
private function getBalanceAndXP():void
var request:URLRequest = new URLRequest("utils.php");
request.method = URLRequestMethod.POST;
var variables:URLVariables = new URLVariables();
variables.func = "getBalance";
variables.fbid = userID;
request.data = variables;
var loader:URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.VARIABLES;
loader.addEventListener(Event.COMPLETE, onBalanceComplete);
loader.load(request);
private function onBalanceComplete(e:Event):void
var loader:URLLoader = e.target as URLLoader;
loader.removeEventListener(Event.COMPLETE, onBalanceComplete);
var variables:URLVariables = new URLVariables(loader.data);
_balance = parseInt(variables.balance); // class variable
_experience = parseInt(variables.experience); // class variable
public function setBalanceAndXP(balance:int, experience:int):void
_balance = balance;
_experience = experience;
var request:URLRequest = new URLRequest("utils.php");
request.method = URLRequestMethod.POST;
var variables:URLVariables = new URLVariables();
variables.func = "setBalance";
variables.fbid = userID;
variables.balance = _balance;
variables.experience = _experience;
request.data = variables;
var loader:URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.VARIABLES;
loader.load(request);
and then I have my php file
<?php
$func = $_POST["func"];
$fbid = $_POST["fbid"];
$balance = $_POST["balance"];
$experience = $_POST["experience"];
$numVariables = 0;
$link = mysql_connect("localhost","username","password");
mysql_select_db("databaseName");
if ($func == "getBalance")
getBalance($fbid);
else if ($func == "setBalance")
setBalance($fbid, $balance, $experience);
mysql_close($link);
function getBalance($fbid)
$query = "SELECT balance, experience FROM tableName WHERE fbid = '".$fbid."'";
$result = mysql_query($query);
$row = mysql_fetch_row($result);
writeVariable("balance", $row[0]);
writeVariable("experience", $row[1]);
function setBalance($fbid, $balance, $experience)
$query = "UPDATE tableName SET balance = ".$balance.", experience = ".$experience." WHERE fbid ='".$fbid."'";
mysql_query($query);
function writeVariable( $name, $value )
global $numVariables;
if ( $numVariables > 0 )
echo "&";
echo $name . "=" . urlencode($value);
$numVariables++;
?> -
Passing a variable from subreport to the main report
Hi guys, was unable to google this, so Im urning to you guys:
I was wondering whether it was possible to do this:
I have a subreport taking data from a table. In the main report, in the suppres condition of details section containing this subreport, I need to have a variable containing the total count of rows in that table. I know there are shared variables for that, but the problem is, that the variable in the condition is processed sooner than the one in the subreport.
Any ideas on this?
Thanks a lotTo Sharma:
Hi, unfortunately I can't. The subreport has its specific position in constallation with previous and following sections and must be right there.
To Raghavendra:
Hi, that was my first idea, but the problem is as I explained in my first message.
To both:
I have a table in subreport. This subreport is in main report positioned in details section "x". and I want to use that shared variable in the suppress condition of section "x". The problem is that the formula in suppress condition is processed sooner than the formula assigning a value to the shared numbervar inside the subreport.
and thats what im looking for - a workaround for that. btw im using CR 8.5
thanks again guys -
Accessign webservice result from another mxml file
HI,
I have an mxml application that uses the <mx:webservice
function to load a wsdl and get some values. I have tested the code
and it works fine and i can get the result and fault methods
correctly.
I would now like to call this service from another mxml file
and use access the result or fault string accordingly.
example scenario would be that when i load my main page, i
would like the lookup values obtained from using the webservice to
be available.
i tried the following but didnt get any luck. Here lookup is
the mxml file which contains the webservice, which i am importing
in this file. GetLookValuesWithAuth is the operation name.
var l:lookup=new lookup;
var s:AsyncToken=l.es.GetLookupValuesWithAuth.send();
s.addResponder(new mx.rpc.Responder(onSResult,onSFault));
public function onSResult(e:ResultEvent):void{
Alert.show("value is");
var xy:XMLList=XMLList(e.result);
lplist=xy.descendants("LOOKUPVALUES");
Alert.show("lookup is
"+lplist.toXMLString()+xy.toXMLString());
public function onSFault(e:FaultEvent):void
Alert.show("Fault is "+e.toString());
An example of the webservice call in lookup.mxml is shown
below
<mx:WebService id="e1" wsdl="{wsdl "
result="resultHandler(event)"
fault="mx.controls.Alert.show(event.fault.faultString.toString())>
<mx:operation name="GetLookupValuesWithAuth"
resultFormat="e4x">
<mx:request>
<databaseName>{database name}</databaseName>
<userName>{username}</userName>
<password>{password}</password>
<lookupID>05855b98-75c7-4117-a91c-db59e9ea0204</lookupID>
</mx:request>
</mx:operation>
Any suggestions?"amthekkel" <[email protected]> wrote in
message
news:g9ovt2$e63$[email protected]..
> HI,
> I have an mxml application that uses the
<mx:webservice function to load a
> wsdl and get some values. I have tested the code and it
works fine and i
> can
> get the result and fault methods correctly.
> I would now like to call this service from another mxml
file and use
> access
> the result or fault string accordingly.
> example scenario would be that when i load my main page,
i would like the
> lookup values obtained from using the webservice to be
available.
>
> i tried the following but didnt get any luck. Here
lookup is the mxml file
> which contains the webservice, which i am importing in
this file.
> GetLookValuesWithAuth is the operation name.
> {
> var l:lookup=new lookup;
> var s:AsyncToken=l.es.GetLookupValuesWithAuth.send();
> s.addResponder(new
mx.rpc.Responder(onSResult,onSFault));
> }
>
> public function onSResult(e:ResultEvent):void{
> Alert.show("value is");
> var xy:XMLList=XMLList(e.result);
> lplist=xy.descendants("LOOKUPVALUES");
> Alert.show("lookup is
"+lplist.toXMLString()+xy.toXMLString());
> }
>
> public function onSFault(e:FaultEvent):void
> {
> Alert.show("Fault is "+e.toString());
> }
>
> An example of the webservice call in lookup.mxml is
shown below
>
> <mx:WebService id="e1" wsdl="{wsdl "
result="resultHandler(event)"
I have no idea about web services, but it seems to me you
should have a
closing curly bracket in the wdsl property.
HTH;
Amy
Maybe you are looking for
-
How to remove the black line from a stacked canvas at run time???
Hi All, I've developed a stacked canvas within a content canvas, when I run the form the stacked canvas apeared with a black line takes it. How to remove this line or how to disappear this line at run time?? I tried to do this by putting (no line) in
-
Import Photos from DVD - Reference to Original DVD Title?
i installed the trial version of Lightroom 2.0 and tested it out putting a DVD in.. it imported all the thumbnails fine... but when you take out the DVD after its done cataloging all the icons, the program doesn't tell you the name of the DVD that th
-
I cannot reinstall an app from the mac app store
I've purchased, downloaded, and installed an app named Magic Number on my MBP. However, apparently something went wrong when downloading it to my iMac, because the app simply is not present on the system - it isn't in /Applications, it isn't in Launc
-
Hello, I'm trying to setup Withholding tax so that it post when an AP Down payment is created in F-48. I had the Withholding tax to apply at time of Invoice, thinking that this might be the problem. Now I've changed it so that it's applied at time o
-
Usefull URL for ALL CS3 Users!!!
You will eventually find this useful if you are a CS3 user. http://www.adobe.com/support/service/ts/documents/lod/lod_return.pdf