AS3. Class flash.system::Worker could not be found - actionscript-3

I can't solve the problem with the Worker class in ActionScript project. I get:
VerifyError: Error #1014: Class flash.system::Worker could not be found
As i searched, VerifyError means that the SWC file is corrupted. How should i fix it ?
Code is simple (Variable of worker Declared) and no additional code except this worker exists.
Tried updating playerglobal SWC with the newest 16 version. Tried updating my Adobe flash professional 5.5, Flash player.
In my projects settings the latest player i can choose to work with is "Flash player 10.2". How could i update it ? or is it the latest ?
import flash.System.Worker;
public class workerService extends Sprite {
var worker:Worker;
public function workerService() {
}
}
Thanks in advance.

That's because the worker class got implemented in Flash Player version 11.4. I'm not sure how to update the SDK in Flash 5.5 though, but maybe this link helps:
https://helpx.adobe.com/x-productkb/multi/overlay-air-sdk-flash-professional1.html
Or just use an ide like flashdevelop.

Add compile flag "swf-version=17" to your flash project and install the latest FlashPlayer.

Add Additional compiler arguments in properties as show in below image

Related

Flash 11.3 class not found on 11.3 player

I'm trying to include the following class in my Flash project:
import flash.display.JPEGXREncoderOptions;
According to the official documentation, this is available as of Flash Player 11.3. I've set up FDT to use playerglobal.swc from 11.3 (and indeed, I can see the class inside the SWC from FDT's browser inside my project). This also compiles fine. However, I get the following runtime error when I try to run the output SWF:
Error #1014: Class flash.display::JPEGXREncoderOptions could not be found.
I've verified that the Flash Player I'm running the .swf with is indeed 11.3 - to be more specific, 11.3.300.265. I'm running on Windows 7 64-bit, with the debug player.
Am I missing something here? Do I need to set up something else?
I'm guessing you're missing the correct -swf-version compiler flag (which you can set in the Debug Configurations and choosing the right compiler flag radio so you can edit the flags as needed)
For example, in Flash Player 11.4 -swf-version=17, so I imagine for Flash Player 11.3 it's something like 15 or 16.
It is easy.
you have 2 options:
1-in property section of every project set -swf-version=16 in compiler part
2-go to flex sdk folder and find Framework folder next change following configuarion files:
air-config
flex-config
airmobile-config
open config files seperatly and change <target-player>11.3</target-player>
and <swf-version>16</swf-version>
I suggest to select number 2 because for all project you dont need to manually add compiler parameter

VerifyError: Error #1014: class could not be found

I'm developing AS3 project using Flash Builder 4.5 (also with library Away3D 4.0 and Flex 4.5.1 SDK).
Also, I add my own SWC library, which I compile previously into my project.
It works find if I import class in my SWC library, however I want my swf run in a stand-alone flash player 11.
I follow this tutorial:
http://help.adobe.com/en_US/flashbuilder/using/WSe4e4b720da9dedb5-4dd43be212e8f90c222-7ffb.html
Now, I could run my app in a flash player 11, but I got an error in run time:
VerifyError: Error #1014: XXX class could not be found
And XXX is my class in SWC library. How should I fix this?
Merged into code means this, in project properties -> Flex Build Path -> Library Path -> Framework Linkage. Framework lingage has two options Merged into code and RSL. Chose Merged into code. This should solve your problem.
We had this problem when trying to build a project using a Native Extension.
Classes within the NE weren't being found at runtime, but were accessible in Flash Builder.
It turned out that by default the .ANE file wasn't copied to the device.
To fix this, change the following project property:
ActionScript Build Packaging -> Apple iOS -> Native Extensions -> Check 'Package' for the ANE
No idea why it wasn't included by default. When you uncheck 'Package' you get a warning telling you that it may cause runtime issues!
In my case, we had a nested reference to the same library which needed to load before the other library also using it. This fix can be accomplished by unchecking the 'Automatically determine library ordering based on dependencies' and moving the library up in the chain of Build path libraries. Flash Builder was unable to determine the correct order base on dependencies because we had 2 different versions of the same library. The error would only happen during run time.
I had this problem after installing AIR 3.9 and trying to upgrade a project.
It was also saying there was an RSL error, before throwing a succession of #1014 errors.
It worked after I set the textLayout.swc link type in Advanced ActionScript Settings to 'merged into code' instead of the default (RSL)
Hope this helps!
Since I landed on this page searching for this error message and none of the above solutions worked for me, here's how I finally managed to work around it:
It seems that this error happens particularly when you include old libraries that were compiled with the old compiler but compile your app with the new one. Unfortunately the error sometimes fires and when you compile again it doesn't; at other times it works fine in the debug version but then it fails in the release.
What worked for me is to include dummy objects in your main app which are instances of the class that the verify error complains about:
import some.classpath.to.TheClassThatFailsOnVerify;
function YourMainApp(){
var dummy:TheClassThatFailsOnVerify = new TheClassThatFailsOnVerify ();
}
At least in my case the errors only fired for classes that were not used directly in the app but only internally in the swc library code, so by having the dummy objects in the main app I force Flash Builder to include those classes in the compilation.
In some cases you might have to first find the swc that contains the class in question since it's not part of the library swc you use but it's again a library that that swc uses itself.

The definition of base class ByteArrayAsset was not found

I'm using FlashDevelop4.0.0 RC1 to create AS3 library project, in which I want to import Away3D library. I follow this tutorial to set up my FD.
http://www.mclelun.com/blog/2011/08/flashdevelop-stage3d-away3d/
However, FD generate error message when I use ExportSWC4.2 plugin to compile the project, I got error message said that
at away3d\materials\methods\TerrainDiffuseMethod_NormalizeKernel.as(10): The definition of base class ByteArrayAsset was not found
Can anyone help me with that? Thanks!
p.s.
I also have issue like the following link
http://sourceforge.net/tracker/index.php?func=detail&aid=3401191&group_id=252536&atid=1127375
not sure if it's related to my problem.
Are you downloading the zip package from http://away3d.com/download/ or accessing via SVN / GIT?
http://away3d.com/images/uploads/releases/away3d_4_0_110915.zip
Not sure about their GIT, but I found the SVN repo dated.
I did not see ByteArrayAsset anywhere in the inheritance chain within my version:
away3d.materials.methods.TerrainDiffuseMethod
away3d.materials.methods.BasicDiffuseMethod
away3d.materials.methods.LightingMethodBase
away3d.materials.methods.ShadingMethodBase
mx.core.ByteArrayAsset is an Adobe class.
There's a NormalizeSplats Pixel Bender linkage, but I did not see any Normalize Kernel.
I'd recommend grabbing the Broomstick ZIP package - I had no issues building the SWC with Flash Builder targeting Flash Player 11.

1046 type not found on [spark.skins]::IHighlightBitmapCaptureClient

I've made an ActionScript Mobile project in Flash Builder 4.5 and am getting this error that I can't fix.
1046: Type was not found or was not a compile-time constant [spark.skins]::IHighlightBitmapCaptureClient.
The error does not link to any source.
The project is basically the source to Flixel's FlxCollisions demo, but trying to compile it for iOS.
Using the same src folder (flxCollisions and Flixel 2.5) in a plain Actionscript project does not cause this error and runs as expected.
I've tried creating an empty AS Mobile project with a trace('hello'): that worked fine. Nothing in the project is using spark.skins.
How can I get rid of this error? What should I be looking at, or for?
I have the same issue and my main class embeds a preloader like so:
[Frame(factoryClass="Preloader")]
public class Main extends Sprite
Commenting that line out makes the error go away.
However, this wasn't what I wanted, so I went off and added the following SWC folders as dependencies:
/Applications/Adobe Flash Builder 4.5/sdks/4.5.0/frameworks/libs
/Applications/Adobe Flash Builder 4.5/sdks/4.5.0/frameworks/locale
Which fixed all the errors. But I will still need to carefully go through the build path and yank out all the unwanted code.

automation errors in Flex Builder 3 when importing a swc from Flash CS 5

I am facing a really weird issue while trying to use an "swc" file imported from Flash CS5, that I am trying to use in Flex Builder 3 (by converting symbol to "Flex Component"). The errors are coming in files which are not even remotely related to the "swc" file that i am importing.
Now, I know that the automation stuff has come as a part of FB4, but I don't really have an option to migrate to FB4.
I have tried to change the flex sdk settings in Flash CS5 (steps given below), but that has not helped.
Edit-->Preferences-->Actionscript-->"Actionscript 3.0 Settings"-->"Flex SDK Path" (pointing this to flex3.5 sdk instead of Flex4.0 sdk)
I feel that the issue is most probably a compatibility issue b/w Flex 3 and Flex 4, but have not been able to find a workaround for the same. Any help is greatly appreciated.
Thanks,
Kapil
Here is the trace:
Severity and Description Path Resource Location Creation Time Id
1044: Interface method createAutomationIDPartWithRequiredProperties in namespace mx.automation:IAutomationObject not implemented by class com.sparsha.view.ui:SchematicWindow.
1044: Interface method createAutomationIDPartWithRequiredProperties in namespace mx.automation:IAutomationObject not implemented by class
1044: Interface method get automationEnabled in namespace mx.automation:IAutomationObject not implemented by class com.sparsha.lib.controls:CloseableTabBar.
1044: Interface method get automationEnabled in namespace mx.automation:IAutomationObject not implemented by class
1044: Interface method get automationEnabled in namespace mx.automation:IAutomationObject not implemented by class com.sparsha.lib.layouts:DockedAppLayout.
OK, first, the error: this means that Flash probably generated a class for the symbol you are importing using a certain template, where the template doesn't fit the SDK you are using to compile the project. Specifically, the generated class did not implement the methods listed in the error message. I.e. your framework.swc has a definition of mx.automation:IAutomationObject that has method createAutomationIDPartWithRequiredProperties() (nice name btw), but Flash generated code that reads as
package com.sparsha.view.ui {
import mx.automation:IAutomationObject;
public class SchematicWindow implements IAutomationObject { . . . } }
Since you cannot do anything about Flash not generating the method you need, your only way is to monkeypatch the SDK. I.e. copy the mx/automation/IAutomationObject.as from the SDK sources to the classpath of your project. Remove the conflicting method declaration (this may or may not result in other errors). If it results in further errors, repeat the same procedure for every class that "misbehaves"...
However, monkeypatching will mean that you are no longer able to use framework RSLs, as they will come with the original version. So, I would try to avoid the problem altogether and look for another way of exporting symbols from Flash IDE, for example, by not making them a Flex component. Or, if you really insist on them being a Flex component, then bootstrap the FlexSprite, for example, and assign your Flash symbols the bootstrapped class as the "parent class".
I was also having this problem recently. I would get the errors when I included the flash generated swc in my flex projects lib folder.
I was able to work around the issue by upgrading my flex to the flex 4.5.1.21328A SDK.
Additional Details about my project that might help others:
My swc was generated from Flash Professional CS5.5 and my Flex Project was being used in Flash Builder 4.5.
My swc was published to Flash Player 9 with ActionScript 3.0.
My flex project was using the 3.5.0.12683 SDK.