|
整理:mouri |
0==========
原文(nbmoon于2001/05/07 19:04粘贴)
有谁熟悉ATL的COM技术.你好.我想问问如何在文件中调用COM组件..我在stdAfx.h中加入tlb类型库,然后直接用智能指针调用,但是编译时候告诉我不认识指针.怎么做呢?
--------------------------------------------------------------------------------
1==========
原文(karma于2001/05/08 01:25粘贴)
你用#import“tlb文件名”了么?贴出你的编码来
--------------------------------------------------------------------------------
11==========
原文(nbmoon于2001/05/08 03:55粘贴)
我用了.我发现import一定要放在atlcom.h后面.不过还是不行.我贴出来了
--------------------------------------------------------------------------------
我可以发给你压缩的程序.大概200k吧.可以吗?这是我的毕业论文.我很着急的.谢谢阿.我查了一天.
只查到其他问题,还是没查到为什么不可以用指针如IOrderDataPrt,连定义的CLISD_OrderData都不认识了.真是失败拉.
好了,我要睡了,4点了.希望明天好消息.谢谢:)
这是stdAfx.h的定义:
#define _ATL_APARTMENT_THREADED
#include
//You may derive a class from CComModule and use it if you want to override
//something, but do not change the name of _Module
extern CComModule _Module;
#include
#import "d:\Program Files\Common Files\System\ADO\msado15.dll" \
no_namespace rename("EOF", "EndOfFile")
#import "..\Nbmcsvr\Nbmcsvr.tlb" named_guids no_namespcae
//{{AFX_INSERT_LOCATION}}
这是错误的报告:
ompiling...
StdAfx.cpp
e:\nbmc\topobj\debug\msado15.tlh(405) : warning C4146: unary minus operator applied to unsigned type, result still unsigned
e:\nbmc\topobj\stdafx.h(27) : warning C4185: ignoring unknown #import attribute 'no_namespcae'
Compiling...
Categories.cpp
E:\Nbmc\TopObj\Categories.cpp(56) : error C2065: 'IOrderDataPtr' : undeclared identifier
E:\Nbmc\TopObj\Categories.cpp(56) : error C2146: syntax error : missing ';' before identifier 'pOrderData'
E:\Nbmc\TopObj\Categories.cpp(56) : error C2065: 'pOrderData' : undeclared identifier
E:\Nbmc\TopObj\Categories.cpp(60) : warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify -GX
E:\Nbmc\TopObj\Categories.cpp(61) : error C2228: left of '.CreateInstance' must have class/struct/union type
E:\Nbmc\TopObj\Categories.cpp(61) : error C2065: 'CLSID_OrderData' : undeclared identifier
E:\Nbmc\TopObj\Categories.cpp(62) : error C2227: left of '->GetCategoryRecordset' must point to class/struct/union
Category.cpp
TopObj.cpp
TopOrd.cpp
Generating Code...
Error executing cl.exe.
TopObj.dll - 6 error(s), 3 warning(s)
111==========
原文(karma于2001/05/08 06:13粘贴)
把no_namespcae改成no_namespace
--------------------------------------------------------------------------------
e:\nbmc\topobj\stdafx.h(27) : warning C4185: ignoring unknown #import attribute 'no_namespcae'
1111==========
原文(nbmoon于2001/05/08 18:44粘贴)
非常感谢.原来这样阿.我以为warning错误不用管他呢.对阿,还有一个warning
--------------------------------------------------------------------------------
e:\nbmc\nbmcsvr\debug\msado15.tlh(405) : warning C4146: unary minus operator applied to unsigned type, result still unsigned
要紧吗?要改正吗?
再说一下,特别谢谢你:)
11111==========
原文(karma于2001/05/09 10:21粘贴)
别客气
--------------------------------------------------------------------------------
这是ADO的TLB文件,好象不需要改动