小弟编了一个单文档程序,通过对文档菜单弹出一个对话框,在对话框中有一个组合框,组合框中的内容希望通过读取access数据库来实现(ado连接),请问,我要在什么地方初始化com库呢,是在单文档的app中么,我试了,不行,然后我就在生成的对话框类的头文件中加了#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","adoEOF")
在对话框中的OnInitDialog()函数中加了AfxOleInit();编译没有问题,可是当我点击菜单希望弹出对话框是就出错了,各位大虾,帮帮忙!!!
在对话框中的OnInitDialog()函数中加了AfxOleInit();编译没有问题,可是当我点击菜单希望弹出对话框是就出错了,各位大虾,帮帮忙!!!
解决方案 »
- 程序时生成一个文件,程序完了就把文件删除了。我以独享方式打开,不让其他程序能够访问。但如果程序运行的时候,程序被Kill了,或者掉电
- ++++有那个软件能制作帮助文件的,并且能在VC和VB中使用,最好是免费的!!
- Windows Xp SP1下为何无法安装VC++6?
- 请问如何生成任务栏上的图标及相应图标的右键菜单项!
- 请问那里可以下《Windows 程序调试》?
- 怎样在我自己的窗体中显示 HTML 页面?
- 关于删除文件~
- 哪位大大写过调用打印机程序?第一页排版不够,如何进入下一页继续打印
- 求 对线条图抽出方向链码 谢谢~
- 跨越线程,自己调度问题再请教
- 关于cedit空间换行问题?
- 小女子初来乍到 急求VC中关于撤消功能的实现
::CoInitialize(NULL);
#ifndef _AFX_NO_AFXCMN_SUPPORT
#include <afxcmn.h> // MFC support for Windows Common Controls
#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF","adoEOF")
#endif // _AFX_NO_AFXCMN_SUPPORT
E:\新仿真程序\offline\SRModeDlg.cpp(141) : error C2065: '_ConnectionPtr' : undeclared identifier
E:\新仿真程序\offline\SRModeDlg.cpp(141) : error C2146: syntax error : missing ';' before identifier 'm_pConnection'
E:\新仿真程序\offline\SRModeDlg.cpp(141) : error C2065: 'm_pConnection' : undeclared identifier
E:\新仿真程序\offline\SRModeDlg.cpp(142) : error C2228: left of '.CreateInstance' must have class/struct/union type
E:\新仿真程序\offline\SRModeDlg.cpp(142) : error C2065: 'Connection' : undeclared identifier
E:\新仿真程序\offline\SRModeDlg.cpp(145) : error C2227: left of '->Open' must point to class/struct/union
E:\新仿真程序\offline\SRModeDlg.cpp(145) : error C2065: 'adModeUnknown' : undeclared identifier
E:\新仿真程序\offline\SRModeDlg.cpp(147) : error C2061: syntax error : identifier '_com_error'
E:\新仿真程序\offline\SRModeDlg.cpp(147) : error C2310: catch handlers must specify one type
E:\新仿真程序\offline\SRModeDlg.cpp(151) : error C2317: 'try' block starting on line '144' has no catch handlers
E:\新仿真程序\offline\SRModeDlg.cpp(151) : error C2065: '_RecordsetPtr' : undeclared identifier
E:\新仿真程序\offline\SRModeDlg.cpp(151) : error C2146: syntax error : missing ';' before identifier 'm_Recordset'
E:\新仿真程序\offline\SRModeDlg.cpp(151) : error C2065: 'm_Recordset' : undeclared identifier
E:\新仿真程序\offline\SRModeDlg.cpp(152) : error C2228: left of '.CreateInstance' must have class/struct/union type
E:\新仿真程序\offline\SRModeDlg.cpp(152) : error C2065: 'Recordset' : undeclared identifier
E:\新仿真程序\offline\SRModeDlg.cpp(155) : error C2227: left of '->Open' must point to class/struct/union
E:\新仿真程序\offline\SRModeDlg.cpp(155) : error C2228: left of '.GetInterfacePtr' must have class/struct/union type
E:\新仿真程序\offline\SRModeDlg.cpp(155) : error C2065: 'adOpenDynamic' : undeclared identifier
E:\新仿真程序\offline\SRModeDlg.cpp(155) : error C2065: 'adLockOptimistic' : undeclared identifier
E:\新仿真程序\offline\SRModeDlg.cpp(155) : error C2065: 'adCmdText' : undeclared identifier
E:\新仿真程序\offline\SRModeDlg.cpp(157) : error C2061: syntax error : identifier '_com_error'
E:\新仿真程序\offline\SRModeDlg.cpp(157) : error C2310: catch handlers must specify one type
E:\新仿真程序\offline\SRModeDlg.cpp(161) : error C2317: 'try' block starting on line '154' has no catch handlers
E:\新仿真程序\offline\SRModeDlg.cpp(161) : error C2065: '_variant_t' : undeclared identifier
E:\新仿真程序\offline\SRModeDlg.cpp(161) : error C2146: syntax error : missing ';' before identifier 'var'
E:\新仿真程序\offline\SRModeDlg.cpp(161) : error C2065: 'var' : undeclared identifier
E:\新仿真程序\offline\SRModeDlg.cpp(166) : error C2227: left of '->BOF' must point to class/struct/union
E:\新仿真程序\offline\SRModeDlg.cpp(167) : error C2227: left of '->MoveFirst' must point to class/struct/union
E:\新仿真程序\offline\SRModeDlg.cpp(172) : error C2227: left of '->adoEOF' must point to class/struct/union
E:\新仿真程序\offline\SRModeDlg.cpp(172) : fatal error C1903: unable to recover from previous error(s); stopping compilation
Error executing cl.exe.SRModeDlg.obj - 30 error(s), 0 warning(s)
void COfflineView::OnMenuSrmode()
{
// TODO: Add your command handler code here
CSRModeDlg *dlg=new CSRModeDlg;
dlg->Create(IDD_DIALOG_SRMODE,NULL);
dlg->ShowWindow(SW_SHOW);
dlg->PostPoint(&flag_SRmode,&SRmode_ah,&SRmode_sel,&SRmode_amount,&SRmode_max2,&SRmode_max,SRmode_fs);
}
#import "c:\program files\common files\system\ado\msado15.dll" \
no_namespace rename("EOF","adoEOF") rename("BOF","adoBOF")
Com 初试化
在app的InitInstance中,加入AfxOleInit();或者
CoInitialize(NULL)
如果在线程中也使用了com,那么在线程中也要用CoInitialize初始
然后rebuild all
pParentWnd->GetSafeHwnd(), AfxDlgProc);
这句
然后就runtime error了
F:\ADOXCreateDatabase\ParentDlg.cpp(60) : error C2228: left of '.m_pConnection' must have class/struct/union type我的是这样的错误!怎么解决啊?求解答,谢谢!