掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
VB6から自作ActiveXへ配列(文字)を渡したい (ID:63208)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
よくよく考えてみたら、VARIANT*にする必要もなく、VARIANT型でよかったです。 それと、VB側でいちいち Variant型変数に入れなくてもString型配列渡せますね。 void CActiveXTestCtrl::ShowList(const VARIANT FAR& list) { // TODO: ここにディスパッチ ハンドラ コードを追加してください。 SAFEARRAY* psa; BSTR wcs; long i, lb, ub; CString s; if ( list.vt != ( VT_ARRAY | VT_BSTR ) ) return; psa = list.parray; if ( psa->cDims != 1 ) return; SafeArrayLock( psa ); SafeArrayGetLBound( psa, 1u, &lb ); SafeArrayGetUBound( psa, 1u, &ub ); for ( i = lb; i <= ub; i++ ) { SafeArrayGetElement( psa, &i, ( void* )&wcs ); AfxMessageBox( CString( wcs ) ); } SafeArrayUnlock( psa ); } Sub test() Dim s(2) As String Dim a As New ActiveXTest s(0) = "漢字" s(1) = "#%" s(2) = "カタカナ" a.ShowList s End Sub
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.