10.16.08

Speaking at Adobe MAX – Flooglytics

Posted in Adobe, Flash, Flash 10, Flex, Search Engine, SEO, Speaking at 10:12 pm by Curtis J. Morley

Flooglytics = Flash + Google Analytics

I am excited to say that I will be speaking one month from today at the FITC Unconference at Adobe MAXFITC has always been one of the leading Flash conferences and has expanded to locations all around the globe.

What:

Flash and Google Analytics = FLOOGLYTICS
Flash has always been considered the ugly step sister in the world of SEO and Analytics. Well now Flash takes “Center Stage”. Using Google Analytics data can be extracted from Flash that could never be pulled from HTML. This session will explore the ins-and-outs of how to setup Google Analytics to work most effectively with your Flash files and how to set up Flash to work most effectively with your Google Analytics account. Go beyond just seeing what users did. See what users meant to do or even wanted to do but didn’t. The most important part of the equation is how to refine this gold that Flash and Google Analytics provide. Walk away from this session armed with the tools you need to implement Floogylitics and make your site effective. Combine this session with the MAX session announcing the new developments at Google Analytics and you will be miles ahead of the competition.

Where: FITC Unconference at Adobe MAX in San Francisco

When: November 19th 3:30 P.M.

So sign up for MAX and I will see you on Wednesday.

Happy Flashing,

Curtis J. Morley

ActionScript Error 1184: Incompatible default value of type int where String is expected.

Posted in Adobe, Error, Error, errors, Flash, Flash 10, Flex at 9:04 pm by Curtis J. Morley

ActionScript Error 1184: Incompatible default value of type int where String is expected.

ActionScript Error 1184 Description:
This error is quite simple.  It just says that you have the wrong type of data in your parameter initializer.  Or in other words you tried to assign a string where you typed the parameter as a uint.

Flex / Flash Error #1184 Fix:
Match the parameter type to the proper data type.

Bad Code 1:

bob(someValue:uint = "Happy")
{
trace(someValue);//error 1184
}

Good Code 1:

bob(someValue:uint = 5)
{
trace(someValue);//output 5
}

Related Errors:

AS3 Error 1047

This should help you resolve Flex / Flash Error #1184

Thanks and as always Happy Flashing

Curtis J. Morley

10.15.08

ActionScript Error 1047: Parameter initializer unknown or is not a compile-time constant.

Posted in Adobe, Error, Error, errors, Flash, Flash 10, Flex at 6:25 am by Curtis J. Morley

ActionScript Error 1047: Parameter initializer unknown or is not a compile-time constant.ActionScript Error 1047

Description:
Let's break down ActionScript Error 1047 into it's various parts.

  1. Parameter = The variable inside the parenthesis of a function
  2. Initializer = An initial value set on the parameter inside the parenthesis
  3. Compile-time Constant = Something Flash knows the value of without evaluating

So long story short - you are trying to assign a value to a parameter that has to be evaluated.  Still don't know what I mean?  Check the code examples.

This is actually a really great feature of AS3.  Say for example you have an event listener that calls a function.  You also want to call this same function without the event. Unless you pass a value in you will get AS3 Error 1136.  AS3 allows you to set the Event parameter to null and therefore accept a call to that function without passing in a parameter.  function myUtilFunc( e:Event = null);

You can initialize and function with any Compile time constant for example a string like "Happy", a constant like null or an int like 5 but you can not throw in anything that needs to be evaluated like a variable, math operation, an in-line array like [a,b,c] or date.

Flex / Flash Error #1047 Fix:
Remove any variable data and use only constants in the initializer such as Strings, Numbers, Null, etc...

Bad Code:

var init:String = "Happy"
function bob(someValue:String = init){
trace(someValue);
}

Good Code:

function bob(someValue:String = "Happy"){
trace(someValue);
}

or

function multiFunction(e:Event = null){
//doSomething;
}

Related Errors:

AS3 Error 1184

This should help you resolve Flex / Flash Error #1047

Thanks and as always Happy Flashing

Curtis J. Morley

10.14.08

Flex / Flash Compiler Error #1023: Incompatible override.

Posted in Adobe, Error, Error, errors, Flash, Flash 10, Flex at 10:40 pm by Curtis J. Morley

AS3 Compiler Error #1023: Incompatible override.

AS3 Error 1023 Description:

This ActionScript error is the most terse error that AS3 has provided us.  It is nothing like the beautiful description of AS3 Warning 1090

It popped up, rearing it's ugly head like a teenager on Halloween. In most cases this error has more to do with AS3 Error 1021 than it does with an "Incompatible override".   The first example below demonstrates this behavior. Example 1 will also give AS3 Error 1021 every time.

The second example is when an "Incompatible override" really is the reason.  Method signatures have to match or you will get this error.  Basically it means that you have not matched everything up properly from the method/Class that you are overriding.  So if you are overriding something that accepts events and you forget to put in events you will get this error.  If you give it a different Type you will get this error. Etc...

Adobe gives a good explanation of my second example.  They say:

"A function marked override must exactly match the parameter and return type declaration of the function it is overriding. It must have the same number of parameters, each of the same type, and declare the same return type. If any of the parameters are optional, that must match as well. Both functions must use the same access specifier (public, private, and so on) or namespace attribute as well."

Flex / Flash Error #1023 Fix:

Make sure that you do not have duplicate names with an object and a function

or

Match the Method Signature of the soon to be overridden class.

Bad Code 1:

var myArray:Array = [1,2,3];

function myArray () {
}

Good Code 1:

var myArray:Array = [1,2,3];

function myArrayFunction () {
}

Bad Code 2:

override protected function draw(event:Event = null):void

Good Code 2:

override protected function draw(event:Event):void

Related Errors:

AS3 Error 3596
AS3 Error 1021
AS3 Error 1023 (Different error same number)

This should help you resolve Flex / Flash Warning #1023

Thanks and as always Happy Flashing

Curtis J. Morley

10.13.08

AS3 Compiler Error# 1021: Duplicate function definition.

Posted in Adobe, Error, Error, errors, Flash, Flash 10, Flex at 10:47 pm by Curtis J. Morley

AS3 Compiler Error# 1021: Duplicate function definition..

AS3 Error 1023 Description:

This ActionScript error is the most terse error that AS3 has provided us.  It is nothing like AS3 Warning 1090 It popped up, rearing it's ugly head like a teenager on Halloween. In most cases this error has more to do with AS3 Error 1021 than it does with an incompatible override.  Sometimes it realy does mean that you have an override that is incompatible but many times it just means that you have a function that is named the same as

Flex / Flash Error #1021 Fix:

Do exactly what the message says use an event listener instead of the onRelease event that was common in AS2.

Bad Code 1:

function bob () {
}

function bob () {
}

Good Code 1:

function bob () {
}

function jim () {
}

Bad Code 2:

var myArray:Array = [1,2,3];

function myArray () {
}

Good Code 2:

var myArray:Array = [1,2,3];

function myArrayFunction () {
}

Related Errors:

AS3 Error 3596
AS3
Compiler Error 1023
AS3 Error 1023 (Different error same number.  This one has nothing to do with error 1021)

This should help you resolve Flex / Flash Warning #1021

Thanks and as always Happy Flashing

Curtis J. Morley

10.11.08

ActionScript Warning 1090: Migration issue: The onRelease event handler is not triggered automatically by Flash Player at run time in ActionScript 3.0. You must first register this handler for the event using addEventListener ( ‘click’, callback_handler).

Posted in Adobe, Error, Error, errors, Flash, Flash 10, Flex at 10:52 pm by Curtis J. Morley

AS3 Warning: 1090: Migration issue: The onRelease event handler is not triggered automatically by Flash Player at run time in ActionScript 3.0.  You must first register this handler for the event using addEventListener ( 'click', callback_handler).

AS3 Warning 1090 Description:

So the other day I opened some AS2 files that I use for teaching Flash Arrays at UVU.  I changed a few things in the file and tested my movie.  That is when Warning 1090 popped up and I realized that I had missed a few things.  AS3 Warning1090 is the most comprehensive and complete error message that I have ever encountered in Flash or Flex.  Not only does it give a really clear description but it tells you how to solve the issue.  Kudos Flash programmers/writers.  Jen DeHaan  if this is you - Nice Job!

P.S.  This will also happen with onEnterFrame, onPress, onMouseMove, etc...  I have only included one example here but it applies to all cases.

Flex / Flash Error #1090 Fix:

Do exactly what the message says use an event listener instead of the onRelease event that was common in AS2.

Bad Code:

joinArray_btn.onRelease = function () {
//Do Something
}

Good Code:

joinArray_btn.addEventListener(MouseEvent.CLICK, joinArray);

function joinArray() {
//Do Something
}

Related Errors:

AS3 Warning 1058

This should help you resolve Flex / Flash Warning #1090

Thanks and as always Happy Flashing

Curtis J. Morley

10.10.08

Flex / Flash Error 1042: The this keyword can not be used in static methods. It can only be used in instance methods, function closures, and global code.

Posted in Error, Error, errors, Flash, Flex at 8:08 am by Curtis J. Morley

ActionScript 3 Error: 1042: The this keyword can not be used in static methods. It can only be used in instance methods, function closures, and global code.ActionScript 3 Error #1042

AS3 Error 1042 Description:

AS3 Error1042 is actually a really helpful error.  It is simple in that it states that you will not be able to access something called "this" at the point in the code you are trying to access it.  In other words, you can't put "this" directly inside the package or the class.  It can go in any of the functions that are within the Class but no higher.

It makes sense.  If you think about trying to access "this" from inside the package or from inside the class definition then you should understand why.  Packages are used only to show Flash/Flex where to find the code so there is no "this" in a file structure.  Also at the Class definition level this doesn't exist either because the Class hasn't yet run the constructor to make a "this".

Flex / Flash Error #1042 Fix:

Remove the reference to the "this" keyword in your package or Class.

Bad Code:

package com.cjm.teaching{
import flash.display.MovieClip;
trace(this);
public class Ball extends MovieClip {
public function Ball():void {
}
}
}

or

package com.cjm.errors{
import flash.display.MovieClip;
public class MyClass extends MovieClip {
trace(this);
public function MyClass():void {
}
}
}

Good Code:

package com.cjm.errors{
import flash.display.MovieClip;
public class MyClass extends MovieClip {
public function MyClass():void {
trace(this);
}
}
}

Related Errors:

If the reference to "this" is at the package level you will also get AS3 Error 5000

This should help you resolve Flex / Flash Error #1042

Thanks and as always Happy Flashing

Curtis J. Morley

10.09.08

Warning: 1058: Migration issue: The property _root is no longer supported. This property has been removed. The closest equivalent is the Stage, which serves as the root of the ActionScript 3.0 display list..

Posted in Flash at 10:05 pm by Curtis J. Morley

Warning: 1058: Migration issue: The property _root is no longer supported.  This property has been removed. The closest equivalent is the Stage, which serves as the root of the ActionScript 3.0 display list..

AS3 Warning 1058 Description:

So the other day I opened some AS2 files that I had used for teaching Flash Arrays at UVU.  I changed a few things in the file and tested my movie.  That is when Warning 1058 popped up and I realized that I had missed a few things.  AS3 Warning1058 is one of the most comprehensive and complete error message that I have ever encountered in Flash or Flex.  Not only does it give a really clear description but it tells you how to solve the issue.  Kudos Flash programmers/writers.  Jen DeHaan  if this is you - Nice Job!

P.S.  This AS3 Warning will appear with all properties that use the leading underscore such as _x, _y, _width, _rotation, _alpha, etc...  I have only included one example here but it applies to all cases.

Flex / Flash Error #1058 Fix:

Do exactly what the message says remove the underscore or int he case of the _root property target it reltively with the "this" keyword or replace _root with Stage.

Bad Code:

_root.tenantsList = myTenantsArray.join(delimiter_txt.text);

Good Code:

Stage.tenantsList = myTenantsArray.join(delimiter_txt.text);

or

root.tenantsList = myTenantsArray.join(delimiter_txt.text);

or

this.tenantsList = myTenantsArray.join(delimiter_txt.text);

Related Errors:

AS3 Warning 1090

This should help you resolve Flex / Flash Warning #1058

Thanks and as always Happy Flashing

Curtis J. Morley