掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
エクセルセル範囲を代入したVariant型変数をC/C++で作るDLLに渡すには? (ID:70071)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
こちらで質問したい誘惑にかられつつ、WEBで調べまくって数値の配列→文字列の配列への変更にトライしておりました。見よう見まねでSysAllocStringを使ってとりあえず下記で動きました。速度上のメリットは無いのかもしれませんが(未確認)、勉強にはなりました。しばらくしたら閉じます。 −中略− for(i=0; i<nrows; i++) { for(j=0; j<ncols; j++) { long indi[] = {i+1,j+1}; //check for the type of VARIANT in the array switch(dArray[(i*ncols)+j].vt) { case VT_BSTR: wcscpy_s(retBuff,sizeof(retBuff)/sizeof(wchar_t), dArray[(i*ncols)+j].bstrVal); retVal = myShori(retBuff); //自作の処理関数 SysFreeString(dArray[(i*ncols)+j].bstrVal); dArray[(i*ncols)+j].bstrVal = SysAllocString(retBuff); break; default: break; } SafeArrayPutElement(destArray.parray, indi, &dArray[(i*ncols)+j]); SysFreeString (dArray[(i*ncols)+j].bstrVal ); } } delete [] dArray; return destArray;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.