我的VC OCX中有 一个接口,这个接口有一个参数是需要返回一个内存文件的,很大,大概有2M左右,现在我想通过VB调用这个接口把这个文件 传递出来,,先是声名接口参数类型为BSTR*,好不容易搞定了,但是传递出来的数据不对,个人感觉他是吧这个2进制的文件流转换成UNICODE了,但是我用VB的STRCONV转换不过来,后来又用VARIANT类型的,但是连内存都不让操作了
1.如何让OCX中传递出来的参数是正确的2进制流,而不是经过unicode转换过来的
2.到底该使用声名数据类型的参数
BSTR*不行,遇到0会截断
用 IStream 接口
引用 BSTR*不行,遇到0会截断 用 IStream 接口 up
我用的memcpy,截断不截断对我没有影响啊,我刚才用VC测试了一下,没有上述unicode转换的问题,难道VB就这么垃圾???
引用 我用的memcpy,截断不截断对我没有影响啊,我刚才用VC测试了一下,没有上述unicode转换的问题,难道VB就这么垃圾??? 问题出在你的接口参数类型,即使你使用了memcpy也一样。
楼上你没有看明白我的意思吧,我用VC已经测试通过了
使用bstr的话,会自动转成unicode的,要么base64一下
或者用VARIANT的SafeArray
base64?在VC里头还是VB里头啊 安全数组这么用啊,能不能具体点,因为ocx的接口参数也就那些,好像没有什么安全数组的类型吧?
base64 编码把二进制转成字符串
VARIANT里的数组在vc时通过safearray使用的,vb怎么用我也不知道,呵呵
vc的safearray操作
long ReviewDocument::getMeasureBinData(VARIANT* aData)
{
相关问答:
login.aspx.vb: Public ReadOnly Property nameT() As String Get Return TextBox1.Text &nb ......
请教一下:我用vb写了一个调用Illustrator的测试程序,代码很简单:Private Sub Command1_Click() Dim app As New Illustrator.Application Dim doc As Illustrator.Document Dim thislayer As Illustrator.Layer ......
希望大家能够帮我下.感谢了.. 源码传在大米盘 VB6 的源码 http://www.damipan.com/file/3wNoKLW.html 转为VB.NET源码. 小弟完全是新手 不懂的说.麻烦各位帮忙一下 我的EMAIL是:4452 ......
想在warcraft3里进行写屏操作【如对战平台中的胜负提示信息】,效果就像游戏平台中一样,我试过在一窗口中写入文字,然后一直让窗口强制最前,虽然能实现文字显示,但是文字会不断闪烁,而且有不确定BUG,通过论坛搜 ......
在vb中怎么判断,插入到数据库中的值是重复的,本人才刚接触VB语言,甚是有好多地方还不懂,还请各位大侠们给出代码,谢谢了呀!!! 插入之前select一下阿。 或者写一个组合SQL插入语句,例如 IF not Exist( & ......