×
Namespaces

Variants
Actions

Archived:Symbian C++ stub application for Flash Lite 3 - problem with Adobe developer installation package (Known Issue)

From Nokia Developer Wiki
Jump to: navigation, search

Archived.pngArchived: This article is archived because it is not considered relevant for third-party developers creating commercial solutions today. If you think this article is still relevant, let us know by adding the template {{ReviewForRemovalFromArchive|user=~~~~|write your reason here}}.

Article Metadata
Tested with
Devices(s): Devices running Flash Lite 3
Compatibility
Platform(s): S60 3rd Edition, FP2 devices running Flash Lite 3
S60 3rd Edition FP2
Article
Created: User:Technical writer 1 (05 Mar 2008)
Last edited: hamishwillee (20 Jun 2012)

Description

Flash Lite 3 app fails with the KERN-EXEC 3 error code when returning the CApaDocument instance from flash2ui.dll.

Solution

Two new features are added to Flash Lite 3.0. These 2 features use 2 variables, iReserved1 and iReserved2, which were not used in earlier versions. If these variables have uninitialized values, the KERN-EXEC 3 error is returned.

Flash Lite 3.0 supports 2 new features for Flash stub developers. This is only applicable to the Nokia version of Flash Lite.


Precompiled ActionScript extensions

SWF in the stub application can refer to library SWF. FlashUIConfig defined in flash_ui.h has to be used to pass the precompiled SWF file to the stub application. This precompiled SWF has to be in the private data caged area to protect it from accidental deletion or replacing by malicious SWFs. FlashUIConfig.iReserved1 is used to set the ActionScript library. If Flash stub applications do not use the precompiled ActionScript library, they should set FlashUIConfig.iReserved1 to NULL.

Example code:

const TUid KUidFlashStubApp = { 0x1027377B };
_LIT(KStubFlashContent, "\\Private\\1027377B \\example.swf");
_LIT(KStubActionScriptExtn,"math.swf");
const TUint32 KContentChecksum = 0;
 
FlashUIConfig config;
config.iIsMMI = EFalse;
config.iIsStubApp = ETrue;
config.iContentFileName.Copy(KStubFlashContent);
config.iContentChecksum = KContentChecksum;
config.iReserved1.Copy(KStubActionScriptExtn);
Config.iReserved2 = 0;


Increased dynamic heap

The default maximum heap allowed for Flash stub applications is currently 2MB, which may be too little for some Flash content. This results in Out of Memory for some Flash content. Now Flash stub developers can utilize the increased maximum dynamic heap feature to run some heavy flash content. The FlashUIConfig.iReserved2 member variable has to be set to the maximum allowed dynamic heap. Only the first 16 bits are used. The value specified here will be multiplied by 1KB.

Example code:

FlashUIConfig config;
config.iIsMMI = EFalse;
config.iIsStubApp = ETrue; //This should be ETrue for Stub
config.iContentFileName.Copy(KStubFlashContent);
config.iContentChecksum = KContentChecksum;
config.iExtensions = NULL;
config.iReserved1 = NULL;
config.iReserved2 = 4096;// Max 4MB dynamic heap memory

Due to these two features, it is expected that if these fields are not used, they need to be set Null/0 by Flash stub applications.

This page was last modified on 20 June 2012, at 05:58.
38 page views in the last 30 days.
×