掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
VC6のDLLからVB6に文字列の配列を渡すには? (ID:64950)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
ちなみにVARIANT型配列で受け渡しする場合はもっと簡単になります。 HRESULT WINAPI Sample(LPSAFEARRAY* ppsa) { HRESULT hr = S_OK; if (!ppsa) return E_INVALIDARG; // 引数エラー if (*ppsa) { // 既存配列の削除 hr = ::SafeArrayDestroy(*ppsa); if (FAILED(hr)) return hr; } static const LPCTSTR Foot_bola[3] = {_T("中村俊輔"), _T("松井大輔"), _T("高原直泰")}; const long size = sizeof(Foot_bola) / sizeof(Foot_bola[0]); *ppsa = ::SafeArrayCreateVector(VT_VARIANT, 0L, size); if (!*ppsa) return E_OUTOFMEMORY; // メモリ不足 // 要素の設定 VARIANT* items; ::SafeArrayAccessData(*ppsa, (LPVOID*)&items); for (long index = 0; index < size; ++index) { ::VariantClear(&items[index]); _variant_t temp(Foot_bola[index]); items[index] = temp.Detach(); } ::SafeArrayUnaccessData(*ppsa); return hr; }
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.