AS3 transfor Vector to C++ by Alchemy.
March19
AS3:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="onCreationComplete(event)">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import __AS3__.vec.Vector;
import cmodule.vectorSample.CLibInit;
import mx.events.FlexEvent;
private var clib:CLibInit;
private var clibInit:Object;
private var vector:Vector.<String>;
internal function onCreationComplete(event:FlexEvent):void
{
clib = new CLibInit();
clibInit = clib.init();
vector = Vector.<String>(["Hello","World!"]);
var tempObj:Array = clibInit.getVector(vector);
trace(tempObj[0]);
Alert.show(tempObj[0][0][0].toString(),tempObj[0][0][1].toString());
}
]]>
</mx:Script>
</mx:Application>
C++:
#include "stdio.h"
#include "../AS3.h"
//************************************
// Method: getVector
// FullName: getVector
// Access: public
// Returns: AS3_Val
// Qualifier:
// Parameter: void * data
// Parameter: AS3_Val args
//************************************
AS3_Val getVector(void *data,AS3_Val args)
{
/* create array*/
AS3_Val array = AS3_Array("");
AS3_Set(array,AS3_Int(0),args);
return array;
}
//************************************
// Method: main
// FullName: main
// Access: public
// Returns: int
// Qualifier:
// Parameter: void
//************************************
int main(void)
{
/*define the function available in flash*/
AS3_Val getVectorMethod = AS3_Function(NULL,getVector);
/*build the result object*/
AS3_Val result = AS3_Object("getVector:AS3ValType",getVectorMethod);
AS3_SetS(result,"getVector",getVectorMethod);
/*free for as3 garbage collection*/
AS3_Release(getVectorMethod);
/* init */
AS3_LibInit(result);
return 0;
}
Demo:
Source:
