Link to home
Start Free TrialLog in
Avatar of MJ
MJFlag for United States of America

asked on

Correct AS3 syntax for

First off, I only know enough about Flash to be dangerous! I'm trying to port over some AS2 code to AS3 code. My issue is I get a compiler error on this:

s.dc=112;

error:
Implicit coercion of a value of type int to an unrelated type String

If I try something like:

var s.dc:Number=112;

I get the following error:

Syntax error: expecting semicolon before dot

What is the syntax? Code is below

import com.omniture.ActionSource;
var s:ActionSource;
function configActionSource() {
 
	s = new ActionSource();
 
	s.account = "comdev";
 
	s.pageName = "MyVideoPageName";
	s.pageURL = "";
 
	s.charSet = "UTF-8";
	s.currencyCode = "USD";
 
	s.trackClickMap = true;
	s.movieID = "Example 1";
	s.Media.autoTrack= true;
	s.Media.trackWhilePlaying = true;
	s.Media.playerName = "EA Player Name2"
	s.Media.trackSeconds=5;
	s.Media.trackVars="events,prop1,prop2,prop3,prop4,prop5,prop6,prop7,prop8,prop9,prop10,prop11,prop12,eVar1,eVar2,eVar3";
	
	s.Media.trackEvents="event1,event2,event3,event4,event5";
 
	s.prop1="LABLE/BUSINESS_UNIT";
	s.prop2="STUDIO_NAME";
	
	
	s.events="event1,event2";
		
	s.debugTracking = true;
	s.trackLocal = true;
 
	s.visitorNamespace = "eaeacom";
	//var s.dc:Number=112;
	//s.dc=112;
	var s.dc:Number=112;
 
 
	addChild(s);
}
configActionSource();
s.Media.monitor = function (s,media) {
	
	if(media.event=="OPEN") {
		s.events="event1";
		s.eVar1="evar1Value";
		s.prop1="LABLE/BUSINESS_UNIT";
	}
	
	var tracked25:Boolean=false;
	var tracked35:Boolean=false;
	var tracked50:Boolean=false;
	var tracked60:Boolean=false;
	var tracked75:Boolean=false;
	var tracked85:Boolean=false;
	
	if ((!tracked25) && (media.percent >= 25)) {
		s.events="event2";
		s.prop2="STUDIO_NAME";
		s.eVar2="evar2Value";
		
		s.Media.track(media.name);
		tracked25=true;
	}
	
	if ((!tracked35) && (media.percent >= 35)) {
		
		s.Media.track(media.name);
		tracked35=true;
	}
 
	if ((!tracked50) && (media.percent >= 50)) {
		s.events="event3";
		s.prop3="SITETYPE";
		s.eVar3="evar3Value";
	
		s.Media.track(media.name);
		tracked50=true;
	}
	
	if ((!tracked60) && (media.percent >= 60)) {
			
		s.Media.track(media.name);
		tracked60=true;
	}
		
	if ((!tracked75) && (media.percent >= 75)) {
		s.events="event4";
		//Change value of prop1 one
		s.prop1="NEWLABLE/BUSINESS_UNIT";
		s.Media.track(media.name);
		tracked75=true;
	}
	
	
	if ((!tracked85) && (media.percent >= 85)) {
		s.events="event4";
		//Change value of prop1 one
		s.prop1="CHANGED LABLE/BUSINESS_UNIT";
		//Changed values being reported
		s.Media.trackVars="events,prop1,eVar1";
		s.Media.track(media.name);
		tracked85=true;
	}
	
	if(media.event=="CLOSE") {
		s.events="event5";
		s.Media.track(media.name);
	}
}

Open in new window

Avatar of H01
H01

Hi 894359,

The error may cause by several issue:

1)  if you are trying to declare a variable name "s.dc" then base on your code AS3 will look for the variable name "dc" in component "s" that you import if it doesnt exits then it will prompt error. (Change the varaible name to something else then "s.dc")

2) if you are trying to declare a new variable name dc in component "s" then I dont think is possible.

3) if you are trying to set the variable "dc" which located in "s" component then the variable "dc" might not be a number type and you are assigning a number value to it. (you can try  s.dc = "112" )

Avatar of MJ

ASKER

s.dc = "112" generates this error:

Implicit coercion of a value of type int to an unrelated type String

I can't change the name of the variable.
ASKER CERTIFIED SOLUTION
Avatar of ariestav
ariestav

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial