错在何处????(50分)

  • 主题发起人 主题发起人 孤月独明
  • 开始时间 开始时间

孤月独明

Unregistered / Unconfirmed
GUEST, unregistred user!
VC++6.0中函数定义:
CString ImtsCheckGHM::CheckGHM(LPCTSTR sGhm, BSTR* retJzk, BSTR* retSfyb, BSTR* retYym, BSTR* retKsm, BSTR* retYsm, BSTR* retTjsj, BSTR* retweek)
实参定义:
void CCheckMemberDlg::OnButton1()
{
BSTR* retJzk;
BSTR* retSfyb;
BSTR* retYym;
BSTR* retKsm;
BSTR* retYsm;
BSTR* retTjsj;
BSTR* retweek;

UpdateData(TRUE);
CString str=mtsCheckGHM.CheckGHM(m_ghm,retJzk, retSfyb, retYym, retKsm, retYsm, retTjsj, retweek);
MessageBox(str);
MessageBox(retJzk)
}
有错吗??
 
这些
BSTR* retJzk;
BSTR* retSfyb;
BSTR* retYym;
BSTR* retKsm;
BSTR* retYsm;
BSTR* retTjsj;
BSTR* retweek;
你都只声明为指针,没有实际分配空间,怎么会正确?
 
后来我写为:
BSTR* retJzk;
retJzk=new BSTR;……
(除了MessageBox(retJzk),编译无错。但
还有一种Olestring,用法如何?
 
我没有研究过VC++,我不清楚 OleString, 我不能妄下结论,但估计类似 PWideChar 吧?
在OLE中,对于参数类型是有限制的,在Delphi 中的字符串与COM中的对应关系如下:
delphi COM
WideString BSTR
PChar LPSTR
PWideChar LPWSTR
不知道能不能给你一些思路?
 
接受答案了.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
759
import
I
I
回复
0
查看
855
import
I
后退
顶部