急问!急问!vc调用vb做的包含窗体的COM出错!
2004-09-11 14:54
435 查看
新手上路不足之处请谅解!我在做项目的时候使用vb做包含窗体的com组件给vc调用出现问题。为了方便大家理解我将问题简化如下:
我用VB写了一个简单的COM组件tempdll.dll其中包含一个类 option 和一个窗体 Form1 代码如下:
类 option 的方法 showform
Public Function showform() As Integer
Form1.Show
Showform= 1
End Function
窗体 Form1 中不含任何代码
用VB调用一切正常,但是别人VC7.0中调用则出现问题
vc调用com的主要代码如下:
……
int a ;
HRESULT hresult;
CLSID clsid;
CoInitialize(NULL);
hresult=CLSIDFromProgID(OLESTR("tempdll.option"), &clsid);
_option *t;
hresult=CoCreateInstance(clsid,NULL,CLSCTX_INPROC_SERVER,__uuidof(_option),(LPVOID *) &t);
if(FAILED(hresult))
{
AfxMessageBox("初始化服务组件失败");
return;
}
a=t->showform();
if (a ==1) //编译可以通过,运行后该行出现异常。说“此代码调用了另一个函数,当该函数执行完了后,这将是要执行的下一行”
MessageBox("ok"," ",MB_OK|64);
……
我将“showform” 中的代码 Form1.Show 换成
MsgBox "show" 则一切正常。也就是说,只要调用显示窗体的方法就会出错。
难道COM中不能加窗体吗?可我在VB中显示得很好呀!
请高手指教!
我用VB写了一个简单的COM组件tempdll.dll其中包含一个类 option 和一个窗体 Form1 代码如下:
类 option 的方法 showform
Public Function showform() As Integer
Form1.Show
Showform= 1
End Function
窗体 Form1 中不含任何代码
用VB调用一切正常,但是别人VC7.0中调用则出现问题
vc调用com的主要代码如下:
……
int a ;
HRESULT hresult;
CLSID clsid;
CoInitialize(NULL);
hresult=CLSIDFromProgID(OLESTR("tempdll.option"), &clsid);
_option *t;
hresult=CoCreateInstance(clsid,NULL,CLSCTX_INPROC_SERVER,__uuidof(_option),(LPVOID *) &t);
if(FAILED(hresult))
{
AfxMessageBox("初始化服务组件失败");
return;
}
a=t->showform();
if (a ==1) //编译可以通过,运行后该行出现异常。说“此代码调用了另一个函数,当该函数执行完了后,这将是要执行的下一行”
MessageBox("ok"," ",MB_OK|64);
……
我将“showform” 中的代码 Form1.Show 换成
MsgBox "show" 则一切正常。也就是说,只要调用显示窗体的方法就会出错。
难道COM中不能加窗体吗?可我在VB中显示得很好呀!
请高手指教!
相关文章推荐
- [VB.NET]请教:vb.net调用vc写的dll出错:报尝试读取或写入受保护的内存
- VC调用VB写的COM
- VB创建ActiveX dll 的COM服务器,VC调用VB COM方法
- Proe二次开发中,vc调用vb编写的com
- 像VB一样在VC中隐式调用COM(VC的后期绑定方式)
- VC++调用VB.NET缩写的COM
- Java如何通过VC调用VB编写的COM
- Java如何通过VC调用VB编写的COM
- VC调用VB写的COM
- C#调用vb dll 参数传递--数组、整型等(c#调用com)
- vc里面调用中断为什么会出错??
- Windows C++程序调用包含TensorFlow代码的Python脚本出错问题的解决办法
- VC调用COM的方式总结
- 关于DLL包含窗体,LoadLibrary后使用正常,但在FreeLibrary时,出错的问题;
- VC怎样调用COM控件的接口函数
- VB中的String类型调用VC的DLL
- Delphi 调用COM(VC编写)
- .net写加密的com组件给ASP,VB,VC等其他语言调用
- (转)C#生成基于COM的DLL供VB调用
- 在VB应用程序中调用VC环境下开发的DLL