1

使用下面的代码,我正在尝试使用 QBFC 从快速书籍中读取项目数据。

但我收到错误:

无法将“System.__ComObject”类型的 COM 对象转换为接口类型“Interop.QBFC11.IItemSalesTaxRetList”。此操作失败,因为 IID 为“{C53D1081-9FE4-4569-9181-A9D7E0155907}”的接口的 COM 组件上的 QueryInterface 调用失败,原因是以下错误:不支持此类接口(来自 HRESULT 的异常:0x80004002 (E_NOINTERFACE)) .

我在下面的链接中看到了这个;

http://blogs.msdn.com/b/vsnetsetup/archive/2012/10/05/unable-to-cast-com-object-of-type-system-comobject-to-interface-type.aspx

但这是安装软件的问题(安装后)。但这个问题与问题不同。

让我知道为什么...我使用相同的流程来获取客户和供应商数据...我没有收到任何错误...

代码:

IItemSalesTaxRet itemRet = default(IItemSalesTaxRet);

IItemSalesTaxRetList itemRetList = default(IItemSalesTaxRetList);

IResponse response = responseSet.ResponseList.GetAt(0);

if ((response.Detail != null))

            {

     itemRetList = (IItemSalesTaxRetList)response.Detail; // here i am getting error

                if ((itemRetList != null))
                {

                    for (int j = 0; j <= itemRetList.Count - 1; j++)
                    {
                        itemRet = itemRetList.GetAt(j);
                        if ((itemRet != null))
                        {


                           if (itemRet.Name != null)
                           {

                                Name = GetStringValue(itemRet.Name);
                              Name = Name.Replace(',', ' ');

                           }
                           else
                          {
                              Name = string.Empty;
                          }


               }
        }
  }
4

1 回答 1

1

我看到这篇文章很老了,但是有成千上万的开发人员使用 Intuit 的 SDK 有相同/相似的问题。不知道这是否会有所帮助,但 Quickbooks 库中的许多界面不再受支持,即使它们显示在屏幕参考上。您甚至可能会得到显示受支持的方法的智能感知,但是当他们(重新)编译他们的 dll 时,他们忘记了删除一些接口。我已经多次遇到这个令人抓狂的问题——“IItemSalesTaxRetList”似乎是他们删除的方法之一。

于 2015-06-24T23:46:10.117 回答