浏览代码

compiler: fix calling of dispinterface procedures (issue #0015528)

git-svn-id: trunk@14683 -
paul 15 年之前
父节点
当前提交
fa729dd252
共有 1 个文件被更改,包括 1 次插入1 次删除
  1. 1 1
      compiler/ncal.pas

+ 1 - 1
compiler/ncal.pas

@@ -2838,7 +2838,7 @@ implementation
          if assigned(methodpointer) and is_dispinterface(methodpointer.resultdef) then
            begin
              { if the result is used, we've to insert a call to convert the type to be on the "safe side" }
-             if cnf_return_value_used in callnodeflags then
+             if (cnf_return_value_used in callnodeflags) and not is_void(procdefinition.returndef) then
                begin
                  result:=internalstatements(statements);
                  converted_result_data:=ctempcreatenode.create(procdefinition.returndef,sizeof(procdefinition.returndef),tt_persistent,true);