关于ActiveX接收字符串的问题,在线跪等
rt,我用bcb6封装了一个继承自TPanel的控件。现在其他的功能都调通了,就是有一个要戒收字符串的函数搞不定。
比如说,我在默认接口里加入了一个HRESLULT f([in]BSTR b1,[in]long l2,[out,retval]long* l3);用BCB导入OCX后,这个方法对应为 long f(LPSTR,long)型。
但是我调用时出现内存错误。哪么我应该怎样调用才能避免错误呢?
我想问一下这种情怎样处理?怎样才能让的方法的为LPSTR?LPCTSTR呢?
ps:bcb的类型库编辑器是不是有问题啊?怎么我以refresh类型库的改动,机器就生成的代码就变得乱七八糟的?
[解决办法]
BSTR这种对象需要你自己创建和释放
创建一个BSTR
BSTR SysAllocString(
OLECHAR FAR* sz
);
必须通过调用 FreeBSTR 或 SysFreeString 释放