用MFC CLASSWizard--ADD CLASS-from a type library 这样COM中的函数都在生成的类中了,然后申明一格类的对象,怎么样才能使用这个类的函数(即调用DLL的函数),请求大虾给段代码 急

解决方案 »

  1.   

    查看com的idl文件,看哪些接口可以调用,然后直接调就行了
      

  2.   

    ..类的对象都有了,直接调用成员函数呗.好像要声明一下.你那个dll的.h文件应该有吧,看一下其中的声明.然后可以这样动态加载:
    HINSTANCE hinstLib; 
       hinstLib = LoadLibrary("xx.dll"); 
       dllfunctionname pfun;
       bool fRunTimeLinkSuccess;
        // If the handle is valid, try to get the function address.
     
        if (hinstLib != NULL) 
        { 
            pfun= (dllfunctionname)GetProcAddress(hinstLib, "dllfunctionname");         if (NULL != GetNumDevices) 
            {
                fRunTimeLinkSuccess = TRUE;
             
            }    } 
         // If unable to call the DLL function, use an alternative.
        else
    {
                      fRunTimeLinkSuccess=false;
    MessageBox("Load xxx.dll failed!");
    }        // how to Free the DLL module. 
           // fFreeResult = FreeLibrary(hinstLib);
      

  3.   

    用MFC CLASSWizard--ADD CLASS-from a type library 这样COM中的函数都在生成的类中了,这样就不需要使用LoadLibrary,而且好象COM组件不能这样搞吧?
    需要用CreateDispatch这个函数吗?还有就是CoInitialize(NULL)用这个初始化需要吗?
    我现在对象都有了 而且函数都能用了,就是没结果,不知道怎么回事?
    CoInitialize(NULL);
    UpdateData(TRUE);
    BSTR* Version;
    long x=sms.InitApp("COM1",Version);//sms是类的一个对象,即COM的一个对象
    if(x==0)
    {
    MessageBox("OK");
    //sms.ReleaseDispatch();

    }