刚接触COM,特开此贴,希望各位前辈高人能够有空进来指点一二.....

解决方案 »

  1.   

    如果,COM类是由一个DLL定义的,那么在我用CoCreatInstance()创建COM对象前,需要先用LoadLibrary()将该DLL装载吗?
      

  2.   

    当然是不用嘀.CoCreateInstance内部调用CoGetClassObject获得组件的类对象,然后用其接口IClassFactory::CreateInstance生成组件对象.而cogetclassobject内部会自己根据组件CLSID在注册表中注册的路径loadlibary并调用DLL中的dllgetclassobject函数.这一切都是cocreateinstance为我们做好的.
      

  3.   

    记着:#import "your.dll" no_namespace
    上面仁兄说的对
      

  4.   

    no_namespace
    =====================
    这倒不是硬规了吧.如果两组件有相同接口,方法等就得有命名空间,呵呵
      

  5.   

    首先,CoCreateInstance所做的第一件事情(或多或少)是到注册表中检查哪个DLL实现你的类。为简单起见,假设使用的是进程内服务器。CoCreateInstance加载你的DLL并调用特殊函数DllGetClassObject.。 
    // DLL 函数创建COM对象类工厂
    DllGetClassObject(REFCLSID rclsid, // 类 ID
                      REFIID riid,    // 接口 ID
                      LPVOID* ppv)    // 返回的接口指针 
      

  6.   

    谢谢_foo(void)//莫名函数:)  和  itmaster(爱逖马斯特) .现在有点明白了.虽然我不懂#import 后面的no_namespace(是不是特菜?),不过我相信我会学到它的.目前我手上有三本书,<COM原理与应用>,<COM本质论>,<COM编程精彩实例>.小妹觉得看起来好累,不知道还有没有更简单易懂的.很期待会有你们的推荐哦...............
      

  7.   

    com技术内幕和com本质论相间着看,呵呵.本质论看前三章,再看完技术内幕,再动手做一下,再回去看本质论.而com的应用却不是这几天书就能讲得完的了.路很长...我还在走
      

  8.   

    我有一个MSDN2003中的例子,用ATL做的,例子中的做法是不完全正确的,我把它修改完整了,给个信箱,源程序发给你,不过要有报酬的哟,当然,希望以后能相互切磋。看完之后再给分,要结合vs.net2003的atl教程看,我想你不会失望的。如有问题,请发信,我能解决的帮助解决,不过我是个初学者。
      

  9.   

    to sqjlxj():
    什么报酬啊???........目前我也没有接触到.net.很担心看不懂啊.to _foo(void)//莫名函数:) 
    我去找找看哪有COM技术内幕,好沿着你的脚步走,到时还要请教.........今天回家,要狂啃书了!!!
      

  10.   

    _foo(void)            //莫名函数:) (   讲得好!!!
      

  11.   

    报酬就是给分。
    给个email地址,就给你源程序,很简单的。
      

  12.   

    我有《com技术内幕》不过要你的《com本质论》交换 找qq4449245
    将发给你
    [email protected] 我也是菜鸟哦
    一起进步!!!
      

  13.   

    to sqjlxj():
    我的email:[email protected]
      

  14.   

    to lcw321(蚊子):
    可惜我的<<COM本质论>>是书,不是电子文档.如果有一定给你.希望大家可以一起成长!!!
      

  15.   

    我已经得com本质论了[General Information]
    书名=COM 技术内幕——微软组件对象模型
    作者=BEXP
    页数=295
    下载位置=http://202.106.169.108/diskjsj/js47/18/!00001.pdg
      

  16.   

    你找_foo(void)名函数  
     他很强 很强的
      

  17.   

    不知道 _foo(void)//莫名函数:) 大哥,有空吗?有没有心情帮本菜鸟看看你那儿有无电子档的<<COM技术内幕>>. 好讨厌,我找不到!!!
      

  18.   

    to  lcw321(蚊子):
    晕S,我是初学者,千真万确,呵呵to iammitty:http://iunknown.com.cn/csdn/Inside COM.pdf
    http://iunknown.com.cn/csdn/Inside_COM_SourceCode.zip
      

  19.   

    推荐一本好书,机械工业的《COM+编程指南》,很不错!就是文字有点生涩。
      

  20.   

    to _foo(void)//莫名函数:) 大哥:
    谢了,小妹已经成功将它下载下来了.真的...真的...感激不尽!!!
      

  21.   

    倍儿mm,俺现在也在啃书呢,就是时间更加紧迫呀哪位用COM做过ADO的数据库访问,就是自己做一个COM,封装了数据库连接与基本操作?
    指点一下吧
      

  22.   

    我有《深入解析ATL》电子板的,不知道体积多大,明天看了再说。
      

  23.   

    to sqjlxj:
    已经收到,谢谢先!!!
      

  24.   

    买些书看吧,看电子书多累啊。呵呵。
    我喜欢买书看,现在也正在学习ATL
    希望大家一起多讨论
      

  25.   

    本质论确实不错,刚开始学的时候看了一本<<COM技术大全>>,太差了,建议看本质论。在做实验,再翻过来看看就能有比较深刻的体会了。
    本人也刚学。
    略有小成。