07-17-2012 02:03 PM
I've tried this on both the simulator and the device, and I get the error no matter what:
ArgumentError: Error #3500: The extension context does not have a method with the name init. at flash.external::ExtensionContext/_call() at flash.external::ExtensionContext/call() at com.o2interactive.sensor.gps::GeolocationExt()
In AS:
this.ext = ExtensionContext.createExtensionContext( 'com.o2interactive.sensor.gps', null ); this.ext.call( "init" );
In ANE's ContextInitializer:
const char *functionNames[] = { "init", "gpsStart", "gpsStop", "gpsSupport", NULL };
FREFunction functionPtrs[] = { init, gpsStart, gpsStop, gpsSupport, NULL };
Just dones not like when I call anything that has been mapped.
Any suggestions appreciated.
Solved! Go to Solution.
07-19-2012 04:38 PM
I'm not an ANE expert by any means but you should make sure that the arguements that you're passing are of the same type. I'm not sure if the null you have will work.
Have a look at this sample here - http://help.adobe.com/en_US/air/extensions/WSb464b
More info on call here - http://help.adobe.com/en_US/FlashPlatform/referenc
Sorry if I wasn't much help.
Regards,
Dustin
07-20-2012 09:52 AM
I agree the error indicates something with the arguments, but the arguments are fixed for it: For example (true with all of them), "init" definition is:
FREObject init(FREContext ctx, void* functionData, uint32_t argc, FREObject argv[]);
Any "arguments" from AS3 would be in argc/argv.
The AS3 side of this is just:
this.ext.call( "init" );
Very confusing.
07-20-2012 10:11 AM
What I was thinking was:
private var init:int; this.ext = ExtensionContext.createExtensionContext( 'com.o2interactive.sensor.gps', "init");
07-20-2012 10:48 AM
07-27-2012 08:52 AM
The 3500 error has to do because the "bps" library is not linked in with your app. You have to do this for "[All Configuration]" or you will get the same error depending on your deployment. This has changed in the latest build of the IDE (thanks to RIM who helped find this out).
* C/C++ Build / Settings Configuration: [All configurations]
* Select QCC Linker / Libraries.
* Under Libraries (-l) "add" "bps"
07-27-2012 11:39 AM - edited 07-27-2012 11:40 AM
2jtegen
It has helped you solve the your problem?
My program still did not work.
I've created new projects, added lib, compile now, load to my device... And not successful.
07-27-2012 11:44 AM
07-27-2012 12:23 PM
I've created new projects (all: flex lib, ANE, AIR), added bps, deleted my application from the my device, compiled it, exported to ane file and run the AIR app. It is not successful. ![]()
I've install the NDK 2.1b now. It is not successful too. ![]()
Error 3500 here. ![]()
07-27-2012 12:32 PM
So, which a tool are help me to disassemble the my SO files?
Maybe I will to see a names of the functions that were obtained by compiling and export ...