求Dll中加入对话框的程序,要求能在VB中调用,谢谢在线等待,立即给分
解决方案 »
- CHtmlView類怎實現後台模擬鼠標?
- 请问各位大虾,如何实现图片中的功能?该用什么实现呢?列表框还是什么呢???
- CreateWindow指定了ws_visible还需要调用showwindow 显示吗
- 第一次实习面试的经历。。。
- 发送消息传递CString字符串的问题
- 悬赏:向大家请教一个问题
- 有什么办法可以捕获到系统任意进程弹出的对话框,并能得到对话框的句柄,然后关闭它啊!
- 是否有人在不用别的控件(如Map Objects),从头开发GIS系统?
- 送分100分:关于HANDLE型函数 可否接收 负数 返回值 的问题。
- U盘的自动退出
- 如何在CBitmapButton上写字? 大家来提提方法阿.
- 想看电影吗?
[email protected]
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
CDlg dlg;
dlg.DoModal();
}
或者:WINAPI void ShowDlg() //且在.def文件中导出了。
void WINAPI ShowDlg()
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
CDlg test;
test.DoModal ();
}
结果就是在VB调用完成后出错“调用约定错误”。
为什么用LONG可以通过,请赐教。
基本是这样的:
1.VB中基于COM的
2.VB的对返回值是有要求了,分两类
a.COM类,其在非VB中返回值是HRESULT,显示在VB中的返回值是[out,retval]的值(这个可为空),所以对于COM类一定要返回值(这是自动化的要求)
b.对于一般的导出函数也要有返回值,VB只作检查不起多大作用,详细原因我忘了
3.最后,建义是每个函数均要有返回值,且返回值最好是自动化类型,即VB支持的类型(注VB的Bool好像True==-1,false==0这与很多语言不一样)