- - PR -
ActiveXに2次元の配列を渡したい
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-05-11 18:55
VB6.0で書かれたActiveXを使わなければならなくなりました。
それをVC++.2003にて使用するのですが VARIANT CreateBmp(LPCTSTR strFile, SAFEARRAY ** bytNewPalette) というメソッドがありまして、それを利用しようと思っているのですが、SAFEARRAY ** がうまく渡らず、そこからまったく進まなくなりました。 256色のビットマップを指定すると配列(3x256)に256色のパレットが指定されるようなのですが、『種類が一致しません』という内容のダイアログが表示されてしまいます。 SAFEARRAYBOUND saB[2]; saB[0].lLbound =0; saB[0].cElements =3; saB[1].lLbound =0; saB[1].cElements =256; SAFEARRAY *pPalette =::SafeArrayCreate( VT_UI1,2,saB ); とクリエイトしたSAFEARRAYをメソッドの引数に渡しています。 COleSafeArrayも試したのですが、やはり種類が一致しないようです。 型が一致しないではなく、種類が一致しないという、この場合の種類とは何を表しているのか、 また、これは、どう解決したらいいのか、ご教授ください。 |
1