Archived:Symbian C++ stub application for Flash Lite 3 - problem with Adobe developer installation package (Known Issue)
Article Metadata
Tested with
Compatibility
Article
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.


(no comments yet)