错误 1 error C2061: syntax error : identifier 'CException'               try{
     a   =   lpconnectFunc(W2A(HostName),W2A(Alias),Proc,Station,Handle,errormsg);   
 }
 catch(CException   *e )
 {
                 
 };

解决方案 »

  1.   

    盖茨说CException为MFC下的东西而ATL与MFC属于两种不同类型框架所以你在ATL中无法使用该类。
    Are u understand?
      

  2.   

    你给盖茨Email让他的ATL兼容MFC库
      

  3.   

    在VC里面不要用异常捕获。那会让你完全依赖异常结果会有很多问题。比如C++的异常处理不能捕获系统的异常
      

  4.   

     try{ 
              a       =       lpconnectFunc(W2A(HostName),W2A(Alias),Proc,Station,Handle,errormsg);       
      } 
      catch(...) 
      { 
                                      
      }; 
      

  5.   


      try{   
           a = lpconnectFunc(W2A(HostName),W2A(Alias),Proc,Station,Handle,errormsg);               
        }   
        catch(_com_error *e)
    {
    }      
      

  6.   

    调用DLLCComBSTR libname ="C:\\Api32.dll";
    if (ghDll==NULL)
            ghDll = LoadLibrary(libname);
    if (ghDll != NULL)
    {
             LPConnectFUNC lpconnectFunc   =   (LPConnectFUNC)GetProcAddress(ghDll,   "Connect");   try
    {
         a   =   lpconnectFunc(HostName,Alias,Proc,Station,gTraceHandle,errormsg);   
    }
    catch(...)
    {
         //TODO 在这里设置断点   
    };
    // TODO 随后的代码我这样写,结果还是没有捕获任何异常,而“随后的代码”也没有执行,但Api32.dll做出了反应,即connect发生效果了,这是怎么回事?
      

  7.   

    你应该检查lpconnectFunc的返回值,它并没有抛出异常
      

  8.   

    CException 并不是C++的标准类,ATL也没有实现这个CException类的义务。