首先,我并没有详细学过com,甚至进行com编程,只是看了点这样的代码。现在遇到一个问题,_com_dispatch_method 函数出错,估计是没有注册的原因吧?
编译没有问题,是一个lib文件,然后另一个叫***OLE的工程把那个lib包了一层。编译后需要注册才能跑起来吧不过这个ole编译后是一个.exe文件。
并不是注册一般用的dll ocx文件。另外代码里也有 parseCommandLine函数,好像就是注册的。但是如果代码注册了就应该能运行起来啊。
以前看过别人好像直接在vc菜单里的某个地方,是注册还是指名路径我不知道,也没有找到这个菜单。有没有人知道这个方法,
我想试一下这样行不行,另外如果是注册应该是哪个文件呢,这个ole工程用生成一个exe文件,而且看设置是 Static link to atl.
我用的是vc .net 2003。如果能解决这个问题,感激不尽!!

解决方案 »

  1.   

    看看EXE的命令行参数都支持啥,通过cmd直接注册。
    也可以自己用VC.net2003生成个COM的EXE的Demo看下。
      

  2.   

    exe文件一般使用 /RegServer参数调用来进行注册,不同于DLL的注册,试试吧
      

  3.   

    对阿,我在代码里看到一个parseComandLine样子的函数,就有-regserver  unregserver,还有debug参数可能是通过cmd注册吧,可参数传递的参数没有找到,是在工程设置里吗? 在客户进程的工程设置里?还是其他地方?
    那个demo在哪啊?
      

  4.   

    project->setting->post-building step->post-building command(s)
    输入nmake -f 你的工程名+ps.mk,例如你的工程名为demo,
    nmake -f demops.mk,例如你的工程名为demo,编译后生成demops.dll,在客户端用regsvr32 注册