Rooyee Messenger 2.3.1 源码调试报接口不支持异常的解决办法

来源:互联网 发布:tensorflow 图片分类 编辑:程序博客网 时间:2024/06/15 19:35

RMComFun.pas单元中:

function GetProgIDByDll(ADll: WideString): string;

就是这个function中,找到下面代码

   if CreateComObject(TypeAttr.guid) as IRMPlugin <> nil then
      begin
        Result := ClassIDToProgID(TypeAttr.guid);
        Exit;
      end;

就是因为这句:

CreateComObject(TypeAttr.guid) as IRMPlugin


修改方案:

定义一个变量:RMPlugIn:IRMPlugin;

上面代码改成下面这样:

     

 if  Succeeded((CreateComObject(TypeAttr.guid) as IUnknown).QueryInterface(IID_IRMPlugin, RMPlugIn)) then
      begin
        Result := ClassIDToProgID(TypeAttr.guid);
        Exit;
      end;

通过QueryInterface来查询是否支持接口,就不会抛异常了!

原创粉丝点击