我该如何使用这个模板类?

中国蓝计划 2010-07-24 02:41:58
类引用地址:http://blog.csdn.net/CathyEagle/archive/2006/03/11/621961.aspx


谁教我如何使用这个模板啊!(如何建立到我的另一个源文件中)拜托啦!

[HtmlView.cpp]

void CMyView ::OnDocumentComplete(LPDISPATCH pDisp, LPCTSTR lpszURL)
{
m_htmlDocs.SetSite(pDisp);
}


[HtmlView.h]

#include "HtmlElements.h"
typedef CHtmlElements<CHtmlDocument2> CHtmlDocuments;
typedef CHtmlElements<CHtmlAnchorElement> CHtmlAnchors;
class CMyView : public CHtmlView
{
private:
CHtmlDocuments m_htmlDocs;
CHtmlAnchors m_htmlAnchors;
}


[HtmlElements.h]

#include "HtmlObj.h"
template<class THtmlElement> class CHtmlElements
{
typedef CMap<LPDISPATCH, LPDISPATCH, THtmlElement*, THtmlElement*> CMapDispToHtmlElement;
CMapDispToHtmlElement m_htmlElements;
BOOL IsSiteConnected( LPDISPATCH pDisp )
{
THtmlElement *pElement;
return m_htmlElements.Lookup( pDisp, pElement );
}

public:
CHtmlElements(void)
{
}
~CHtmlElements(void)
{
}

public:
void SetSite( LPDISPATCH pDisp )
{
if ( IsSiteConnected( pDisp ) ) //检查以避免多余的Sink
{
return;
}
THtmlElement *pElement = new THtmlElement; //通过模板类型创建相应的类的实例进行连接
pElement->SetSite( pDisp );
m_htmlElements.SetAt( pDisp, pElement );
}

//在合适的地方调用Clear释放所管理的内存
void Clear(void)
{
POSITION pos = m_htmlElements.GetStartPosition();
THtmlElement *pElement = NULL;
LPDISPATCH pDisp = NULL;
while (pos != NULL)
{
m_htmlElements.GetNextAssoc( pos, pDisp, pElement );
m_htmlElements.RemoveKey( pDisp );
delete pElement;
}
}

};



...全文
233 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
晒月光的青蛙 2010-07-25
  • 打赏
  • 举报
回复
先用#include包含一下你用到的头文件吧
中国蓝计划 2010-07-25
  • 打赏
  • 举报
回复
引用这里的:http://blog.csdn.net/pimshell/archive/2008/08/05/2773717.aspx

void CSomeObject:ConnectElement(IHTMLElement* pElement)

{

//取得连接点容器

CComQIPtr<IConnectionPointContainer> pCPC=pElement;

//查找连接点

CComPtr<IConnectionPoint> pCP;

pCPC->FindConnectionPoint( DIID_HTMLElementEvents2, &pCP);

//连接事件接口

IUnknownPtr pUnk=this; //由CSomeObject实现HTMLElementEvents2事件接口

DWORD dwCookie;

HRESULT hret = pCP->Advise( pUnk, &dwCookie);
if(SUCCEEDED(hret)){//到这一步程序就非法关闭了 根本走不下去 获得不了 hret 错误码
}else{
::MessageBox(NULL, _T("ffff") , _T("错误信息") ,MB_OK | MB_ICONSTOP);
}
}
错误:IUnknownPtr 未定义

当我换成
HRESULT hret=pCP->Advise( reinterpret_cast<IDispatch*>(this), &dwCookie);
程序还是非法关闭!什么原因? hret 获得不了错误码,MessageBox出不来!


这个CSomeObject类我已经实现了 编译后调用这个函数,程序直接关闭 经调试发现是红色部分的原因
IUnknownPtr pUnk=this;就可以把接口添加到当前类吗???

coolcoffee4051982 2010-07-24
  • 打赏
  • 举报
回复
BS楼上的。。。。。。。。
jasonM2008 2010-07-24
  • 打赏
  • 举报
回复
LZ 是女还是男。漂亮MM 可以考虑帮哈。。。哈哈哈
中国蓝计划 2010-07-24
  • 打赏
  • 举报
回复
哪位达人能Q我啊:QQ:3100181 请斑竹不要删除,有结果我会贴出!
并同时欢迎各位达人能热情的帮助偶!多谢啦!
中国蓝计划 2010-07-24
  • 打赏
  • 举报
回复
汗,这个是个类啊,我应该可以写com或则dll用使用吧!
该如何做。希望大侠赐教!
雪影 2010-07-24
  • 打赏
  • 举报
回复
my god。 so much

你的程序必须是使用MFC开发的

另外相应的cpp文件中
#include “stdafx.h”
中国蓝计划 2010-07-24
  • 打赏
  • 举报
回复

D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlElements.h(46) : see reference to class template instantiation 'CHtmlElements<THtmlElement>' being compiled
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlElements.h(4) : error C2059: syntax error : '<'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlElements.h(46) : see reference to class template instantiation 'CHtmlElements<THtmlElement>' being compiled
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlElements.h(4) : error C2238: unexpected token(s) preceding ';'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlElements.h(46) : see reference to class template instantiation 'CHtmlElements<THtmlElement>' being compiled
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlElements.h(5) : error C2146: syntax error : missing ';' before identifier 'm_htmlElements'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlElements.h(46) : see reference to class template instantiation 'CHtmlElements<THtmlElement>' being compiled
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlElements.h(5) : error C2501: 'CMapDispToHtmlElement' : missing storage-class or type specifiers
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlElements.h(46) : see reference to class template instantiation 'CHtmlElements<THtmlElement>' being compiled
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlElements.h(5) : error C2501: 'm_htmlElements' : missing storage-class or type specifiers
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlElements.h(46) : see reference to class template instantiation 'CHtmlElements<THtmlElement>' being compiled
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlElements.h(9) : error C2059: syntax error : 'return'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlElements.h(46) : see reference to class template instantiation 'CHtmlElements<THtmlElement>' being compiled
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlElements.h(9) : error C2238: unexpected token(s) preceding ';'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlElements.h(46) : see reference to class template instantiation 'CHtmlElements<THtmlElement>' being compiled
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlElements.h(12) : error C2143: syntax error : missing ';' before 'public'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlElements.h(46) : see reference to class template instantiation 'CHtmlElements<THtmlElement>' being compiled
D:\我的系统\桌面\VBHTML\源码\vbMHWB\vbWB.h(364) : error C2065: 'CHtmlDocument2' : undeclared identifier
D:\我的系统\桌面\VBHTML\源码\vbMHWB\vbWB.h(365) : error C2065: 'CHtmlAnchorElement' : undeclared identifier
D:\我的系统\桌面\VBHTML\源码\vbMHWB\vbWB.h(367) : error C2504: 'CHtmlView' : base class undefined
D:\我的系统\桌面\VBHTML\源码\vbMHWB\vbWB.h(369) : error C2146: syntax error : missing ';' before identifier 'm_htmlDocs'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\vbWB.h(369) : error C2501: 'CHtmlDocuments' : missing storage-class or type specifiers
D:\我的系统\桌面\VBHTML\源码\vbMHWB\vbWB.h(369) : error C2501: 'm_htmlDocs' : missing storage-class or type specifiers
D:\我的系统\桌面\VBHTML\源码\vbMHWB\vbWB.h(370) : error C2146: syntax error : missing ';' before identifier 'm_htmlAnchors'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\vbWB.h(370) : error C2501: 'CHtmlAnchors' : missing storage-class or type specifiers
D:\我的系统\桌面\VBHTML\源码\vbMHWB\vbWB.h(370) : error C2501: 'm_htmlAnchors' : missing storage-class or type specifiers
D:\我的系统\桌面\VBHTML\源码\vbMHWB\vbWB.h(376) : error C2236: unexpected 'class' 'MyCommandHandler'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\vbWB.h(376) : error C2143: syntax error : missing ';' before ':'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\vbWB.h(376) : error C2143: syntax error : missing ';' before ':'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\vbWB.h(376) : error C2143: syntax error : missing ';' before 'public'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\vbWB.h(377) : error C2143: syntax error : missing ';' before '{'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\vbWB.h(377) : error C2447: missing function header (old-style formal list?)
D:\我的系统\桌面\VBHTML\源码\vbMHWB\vbWB.h(527) : error C2059: syntax error : 'return'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\vbWB.h(527) : error C2238: unexpected token(s) preceding ';'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\vbWB.h(528) : error C2549: user-defined conversion cannot specify a return type
D:\我的系统\桌面\VBHTML\源码\vbMHWB\vbWB.h(528) : error C2270: '.PBG' : modifiers not allowed on nonmember functions
D:\我的系统\桌面\VBHTML\源码\vbMHWB\vbWB.h(528) : error C2801: 'operator user-defined conversion' must be a <Unknown> member
D:\我的系统\桌面\VBHTML\源码\vbMHWB\vbWB.h(528) : error C2065: 'm_Buffer' : undeclared identifier
D:\我的系统\桌面\VBHTML\源码\vbMHWB\vbWB.h(538) : error C2143: syntax error : missing ';' before 'private'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\vbWB.h(549) : error C2143: syntax error : missing ';' before '}'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\vbWB.h(549) : error C2143: syntax error : missing ';' before '}'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\vbWB.h(549) : error C2143: syntax error : missing ';' before '}'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\vbWB.h(606) : error C2059: syntax error : 'return'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\vbWB.h(606) : error C2238: unexpected token(s) preceding ';'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\vbWB.h(607) : error C2146: syntax error : missing ';' before identifier 'ArraySize'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\vbWB.h(607) : fatal error C1004: unexpected end of file found
Generating Code...
Error executing cl.exe.
Creating browse info file...
BSCMAKE: error BK1506 : cannot open file '.\ReleaseUMinDependency\vbMHWB.sbr': No such file or directory
Error executing bscmake.exe.
中国蓝计划 2010-07-24
  • 打赏
  • 举报
回复
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlElements.h(46) : see reference to class template instantiation 'CHtmlElements<THtmlElement>' being compiled
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlElements.h(12) : error C2143: syntax error : missing ';' before 'public'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlElements.h(46) : see reference to class template instantiation 'CHtmlElements<THtmlElement>' being compiled
D:\我的系统\桌面\VBHTML\源码\vbMHWB\vbWB.h(364) : error C2065: 'CHtmlDocument2' : undeclared identifier
D:\我的系统\桌面\VBHTML\源码\vbMHWB\vbWB.h(365) : error C2065: 'CHtmlAnchorElement' : undeclared identifier
D:\我的系统\桌面\VBHTML\源码\vbMHWB\vbWB.h(367) : error C2504: 'CHtmlView' : base class undefined
D:\我的系统\桌面\VBHTML\源码\vbMHWB\vbWB.h(369) : error C2146: syntax error : missing ';' before identifier 'm_htmlDocs'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\vbWB.h(369) : error C2501: 'CHtmlDocuments' : missing storage-class or type specifiers
D:\我的系统\桌面\VBHTML\源码\vbMHWB\vbWB.h(369) : error C2501: 'm_htmlDocs' : missing storage-class or type specifiers
D:\我的系统\桌面\VBHTML\源码\vbMHWB\vbWB.h(370) : error C2146: syntax error : missing ';' before identifier 'm_htmlAnchors'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\vbWB.h(370) : error C2501: 'CHtmlAnchors' : missing storage-class or type specifiers
D:\我的系统\桌面\VBHTML\源码\vbMHWB\vbWB.h(370) : error C2501: 'm_htmlAnchors' : missing storage-class or type specifiers
D:\我的系统\桌面\VBHTML\源码\vbMHWB\vbWB.h(376) : error C2236: unexpected 'class' 'MyCommandHandler'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\vbWB.h(376) : error C2143: syntax error : missing ';' before ':'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\vbWB.h(376) : error C2143: syntax error : missing ';' before ':'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\vbWB.h(376) : error C2143: syntax error : missing ';' before 'public'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\vbWB.h(377) : error C2143: syntax error : missing ';' before '{'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\vbWB.h(377) : error C2447: missing function header (old-style formal list?)
D:\我的系统\桌面\VBHTML\源码\vbMHWB\vbWB.h(527) : error C2059: syntax error : 'return'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\vbWB.h(527) : error C2238: unexpected token(s) preceding ';'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\vbWB.h(528) : error C2549: user-defined conversion cannot specify a return type
D:\我的系统\桌面\VBHTML\源码\vbMHWB\vbWB.h(528) : error C2270: '.PBG' : modifiers not allowed on nonmember functions
D:\我的系统\桌面\VBHTML\源码\vbMHWB\vbWB.h(528) : error C2801: 'operator user-defined conversion' must be a <Unknown> member
D:\我的系统\桌面\VBHTML\源码\vbMHWB\vbWB.h(528) : error C2065: 'm_Buffer' : undeclared identifier
D:\我的系统\桌面\VBHTML\源码\vbMHWB\vbWB.h(538) : error C2143: syntax error : missing ';' before 'private'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\vbWB.h(549) : error C2143: syntax error : missing ';' before '}'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\vbWB.h(549) : error C2143: syntax error : missing ';' before '}'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\vbWB.h(549) : error C2143: syntax error : missing ';' before '}'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\vbWB.h(606) : error C2059: syntax error : 'return'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\vbWB.h(606) : error C2238: unexpected token(s) preceding ';'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\vbWB.h(607) : error C2146: syntax error : missing ';' before identifier 'ArraySize'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\vbWB.h(607) : fatal error C1004: unexpected end of file found
vbWB.cpp
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(21) : error C2504: 'CCmdTarget' : base class undefined
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(243) : see reference to class template instantiation 'CHtmlObj<T,piid>' being compiled
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(110) : error C2146: syntax error : missing ';' before identifier '_interfaceEntries'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(243) : see reference to class template instantiation 'CHtmlObj<T,piid>' being compiled
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(110) : error C2501: '_interfaceEntries' : missing storage-class or type specifiers
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(243) : see reference to class template instantiation 'CHtmlObj<T,piid>' being compiled
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(112) : error C2143: syntax error : missing ';' before 'const'

D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(243) : see reference to class template instantiation 'CHtmlObj<T,piid>' being compiled
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(112) : error C2146: syntax error : missing ';' before identifier 'interfaceMap'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(243) : see reference to class template instantiation 'CHtmlObj<T,piid>' being compiled
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(112) : error C2501: 'interfaceMap' : missing storage-class or type specifiers
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(243) : see reference to class template instantiation 'CHtmlObj<T,piid>' being compiled
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(113) : error C2143: syntax error : missing ';' before '*'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(243) : see reference to class template instantiation 'CHtmlObj<T,piid>' being compiled
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(113) : error C2433: 'AFX_INTERFACEMAP' : 'virtual' not permitted on data declarations
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(243) : see reference to class template instantiation 'CHtmlObj<T,piid>' being compiled
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(113) : error C2734: 'AFX_INTERFACEMAP' : const object must be initialized if not extern
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(243) : see reference to class template instantiation 'CHtmlObj<T,piid>' being compiled
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(113) : error C2086: 'AFX_INTERFACEMAP' : redefinition
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(243) : see reference to class template instantiation 'CHtmlObj<T,piid>' being compiled
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(114) : error C2501: 'GetInterfaceMap' : missing storage-class or type specifiers
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(243) : see reference to class template instantiation 'CHtmlObj<T,piid>' being compiled
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(114) : warning C4183: 'GetInterfaceMap': member function definition looks like a ctor, but name does not match enclosing class
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(243) : see reference to class template instantiation 'CHtmlObj<T,piid>' being compiled
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(247) : error C2143: syntax error : missing ';' before 'const'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(247) : error C2501: 'AFX_COMDAT' : missing storage-class or type specifiers
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(247) : error C2059: syntax error : ';'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(247) : error C2146: syntax error : missing ';' before identifier 'AFX_INTERFACEMAP_ENTRY'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(247) : error C2065: 'T' : undeclared identifier
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(247) : error C2065: 'piid' : undeclared identifier
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(247) : error C2039: '_interfaceEntries' : is not a member of 'CHtmlObj'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(243) : see declaration of 'CHtmlObj'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(247) : error C2146: syntax error : missing ';' before identifier '_interfaceEntries'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(254) : error C2954: template definitions cannot nest
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(255) : error C2143: syntax error : missing ';' before 'const'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(255) : error C2501: 'AFX_COMDAT' : missing storage-class or type specifiers
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(255) : error C2086: 'AFX_COMDAT' : redefinition
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(255) : error C2059: syntax error : ';'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(255) : error C2146: syntax error : missing ';' before identifier 'AFX_INTERFACEMAP'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(259) : error C2039: 'interfaceMap' : is not a member of 'CHtmlObj'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(243) : see declaration of 'CHtmlObj'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(259) : error C2146: syntax error : missing ';' before identifier 'interfaceMap'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlElements.h(2) : error C2954: template definitions cannot nest
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlElements.h(4) : error C2143: syntax error : missing ';' before '<'
中国蓝计划 2010-07-24
  • 打赏
  • 举报
回复
我把这三个文件导入程序后,运行
错误:
[HtmlView.h] 加入到了 vbwh.h
[HtmlView.cpp] 还未添加到(vbwh.cpp),就这么多错误!

很明显是我的加入方式不对






D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(21) : error C2504: 'CCmdTarget' : base class undefined
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(243) : see reference to class template instantiation 'CHtmlObj<T,piid>' being compiled
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(110) : error C2146: syntax error : missing ';' before identifier '_interfaceEntries'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(243) : see reference to class template instantiation 'CHtmlObj<T,piid>' being compiled
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(110) : error C2501: '_interfaceEntries' : missing storage-class or type specifiers
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(243) : see reference to class template instantiation 'CHtmlObj<T,piid>' being compiled
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(112) : error C2143: syntax error : missing ';' before 'const'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(243) : see reference to class template instantiation 'CHtmlObj<T,piid>' being compiled
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(112) : error C2146: syntax error : missing ';' before identifier 'interfaceMap'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(243) : see reference to class template instantiation 'CHtmlObj<T,piid>' being compiled
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(112) : error C2501: 'interfaceMap' : missing storage-class or type specifiers
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(243) : see reference to class template instantiation 'CHtmlObj<T,piid>' being compiled
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(113) : error C2143: syntax error : missing ';' before '*'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(243) : see reference to class template instantiation 'CHtmlObj<T,piid>' being compiled
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(113) : error C2433: 'AFX_INTERFACEMAP' : 'virtual' not permitted on data declarations
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(243) : see reference to class template instantiation 'CHtmlObj<T,piid>' being compiled
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(113) : error C2734: 'AFX_INTERFACEMAP' : const object must be initialized if not extern
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(243) : see reference to class template instantiation 'CHtmlObj<T,piid>' being compiled
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(113) : error C2086: 'AFX_INTERFACEMAP' : redefinition
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(243) : see reference to class template instantiation 'CHtmlObj<T,piid>' being compiled
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(114) : error C2501: 'GetInterfaceMap' : missing storage-class or type specifiers
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(243) : see reference to class template instantiation 'CHtmlObj<T,piid>' being compiled
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(114) : warning C4183: 'GetInterfaceMap': member function definition looks like a ctor, but name does not match enclosing class
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(243) : see reference to class template instantiation 'CHtmlObj<T,piid>' being compiled
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(247) : error C2143: syntax error : missing ';' before 'const'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(247) : error C2501: 'AFX_COMDAT' : missing storage-class or type specifiers
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(247) : error C2059: syntax error : ';'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(247) : error C2146: syntax error : missing ';' before identifier 'AFX_INTERFACEMAP_ENTRY'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(247) : error C2065: 'T' : undeclared identifier
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(247) : error C2065: 'piid' : undeclared identifier
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(247) : error C2039: '_interfaceEntries' : is not a member of 'CHtmlObj'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(243) : see declaration of 'CHtmlObj'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(247) : error C2146: syntax error : missing ';' before identifier '_interfaceEntries'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(254) : error C2954: template definitions cannot nest
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(255) : error C2143: syntax error : missing ';' before 'const'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(255) : error C2501: 'AFX_COMDAT' : missing storage-class or type specifiers
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(255) : error C2086: 'AFX_COMDAT' : redefinition
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(255) : error C2059: syntax error : ';'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(255) : error C2146: syntax error : missing ';' before identifier 'AFX_INTERFACEMAP'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(259) : error C2039: 'interfaceMap' : is not a member of 'CHtmlObj'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(243) : see declaration of 'CHtmlObj'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlObj.h(259) : error C2146: syntax error : missing ';' before identifier 'interfaceMap'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlElements.h(2) : error C2954: template definitions cannot nest
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlElements.h(4) : error C2143: syntax error : missing ';' before '<'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlElements.h(46) : see reference to class template instantiation 'CHtmlElements<THtmlElement>' being compiled
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlElements.h(4) : error C2059: syntax error : '<'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlElements.h(46) : see reference to class template instantiation 'CHtmlElements<THtmlElement>' being compiled
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlElements.h(4) : error C2238: unexpected token(s) preceding ';'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlElements.h(46) : see reference to class template instantiation 'CHtmlElements<THtmlElement>' being compiled
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlElements.h(5) : error C2146: syntax error : missing ';' before identifier 'm_htmlElements'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlElements.h(46) : see reference to class template instantiation 'CHtmlElements<THtmlElement>' being compiled
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlElements.h(5) : error C2501: 'CMapDispToHtmlElement' : missing storage-class or type specifiers
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlElements.h(46) : see reference to class template instantiation 'CHtmlElements<THtmlElement>' being compiled
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlElements.h(5) : error C2501: 'm_htmlElements' : missing storage-class or type specifiers
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlElements.h(46) : see reference to class template instantiation 'CHtmlElements<THtmlElement>' being compiled
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlElements.h(9) : error C2059: syntax error : 'return'
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlElements.h(46) : see reference to class template instantiation 'CHtmlElements<THtmlElement>' being compiled
D:\我的系统\桌面\VBHTML\源码\vbMHWB\HtmlElements.h(9) : error C2238: unexpected token(s) preceding ';'
weirdman 2010-07-24
  • 打赏
  • 举报
回复
这个很难说的
有可能你粘贴的代码中声明的东西在你源文件中没有
这要看你自己的文件怎么写的了
ls2141 2010-07-24
  • 打赏
  • 举报
回复
提供的信息太少了 出现了错误一个个改呗 看别人是怎么调用的
雪影 2010-07-24
  • 打赏
  • 举报
回复
出现什么错误?
这得根据具体的错误一步一步去修改
中国蓝计划 2010-07-24
  • 打赏
  • 举报
回复
希望大侠们能说出步骤。才接触vc 有点不懂,我直接将文件复制到源码目录下,然后再程序中添加了,出现很多错误。肯定是我添加的方法不对。

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧