私は 10 年以上 C++ コードを見たことがありません。現在、Ping
クラス(System::Net::NetworkInformation)
を使用して ping を実行するための非常に小さな DLL を開発する必要がありますremoteAddress
。
を受け取っている引数は でremoteAddress
あり、FREObject
これを に変換する必要がありますconst uint8_t *
。前者は必須であり、何も変更できません。remoteAddress
を として受け取り、FREObject
後で に変換する必要がありconst uint8_t *
ます。
私が抱えている問題はString^
、Ping
クラスに a ではなく aを渡す必要const uint8_t *
があり、 myconst uint8_t *
を aに変換する方法がわからないことString^
です。あなたはなにか考えはありますか?
次は私のコードの一部です:
// argv[ARG_IP_ADDRESS_ARGUMENT holds the remoteAddress value.
uint32_t nativeCharArrayLength = 0;
const uint8_t * nativeCharArray = NULL;
FREResult status = FREGetObjectAsUTF8(argv[ARG_IP_ADDRESS_ARGUMENT], &nativeCharArrayLength, &nativeCharArray);
基本的に、FREGetObjectAsUTF8
関数はnativeCharArray
配列に の値をargv[ARG_IP_ADDRESS_ARGUMENT]
入力し、配列の長さを に返しますnativeCharArrayLength
。また、文字列はヌル文字で終了する UTF-8 エンコーディングを使用します。
私の次の問題は、 を にString^
戻すことconst uint8_t *
です。これについてもお役に立てれば、本当に助かります。
前に言ったように、これは変更できず、 に変更nativeCharArray
する方法がわかりませんString^
。どんなアドバイスも役に立ちます。
PS: また、この DLL の目的は、Adobe Air アプリの ANE (Air Native Extension) として使用することです。