下記ソース FlashRuntimeExtensions.hをインクルードします。
このファイルはFlashBuilder4.6のincludeディレクトリにあります。
例)/Applications/Adobe Flash Builder 4.6/sdks/air3_3/include
HelloWorldANE.h
一行目の表示は#import <Foundation/Foundation.h>になります。
#importHelloWorldANE.m#import "FlashRuntimeExtensions.h" @interface HelloWorldANE : NSObject @end FREObject GetHelloWorld( FREContext ctx, void* funcData, uint32_t argc, FREObject arg[] ); void ContextInitializer( void* extData, const uint8_t* ctxType, FREContext ctx, uint32_t* numFunctionsToTest, const FRENamedFunction** functionsToSet ); void ContextFinalizer(FREContext ctx); void ExtInitializer( void** extDataToSet, FREContextInitializer* ctxInitializerToSet, FREContextFinalizer* ctxFinalizerToSet ); void ExtFinalizer(void* extData);
#import "FlashRuntimeExtensions.h" #import "HelloWorldANE.h" @implementation HelloWorldANE - (id)init { self = [super init]; if (self) { // Initialization code here. } return self; } @end FREObject GetHelloWorld(FREContext ctx, void* funcData, uint32_t argc, FREObject argv[]) { const char *str = "HelloWorld"; FREObject retStr; FRENewObjectFromUTF8(strlen(str)+1, (const uint8_t *)str, &retStr); return retStr; } void ContextInitializer(void* extData, const uint8_t* ctxType, FREContext ctx, uint32_t* numFunctionsToTest, const FRENamedFunction** functionsToSet) { *numFunctionsToTest = 1; FRENamedFunction* func = (FRENamedFunction*)malloc(sizeof(FRENamedFunction)*1); func[0].name = (const uint8_t*)"GetHelloWorld"; func[0].functionData = NULL; func[0].function = &GetHelloWorld; *functionsToSet = func; } void ContextFinalizer(FREContext ctx) { return; } void ExtInitializer(void** extDataToSet, FREContextInitializer* ctxInitializerToSet, FREContextFinalizer* ctxFinalizerToSet) { *extDataToSet = NULL; *ctxInitializerToSet = &ContextInitializer; *ctxFinalizerToSet = &ContextFinalizer; } void ExtFinalizer(void* extData) { return; }
0 件のコメント:
コメントを投稿